数据挖掘是涉及多个组件的交互的过程。
访问 SQL Server 数据库中的数据源或任何其他数据源,以用于训练、测试或预测。
使用 SQL Server Data Tools (SSDT) 或 Visual Studio 定义数据挖掘结构和模型。
可以使用 SQL Server Management Studio 管理数据挖掘对象并创建预测和查询。
解决方案完成后,将其部署到 Analysis Services 实例。
创建这些解决方案对象的过程已在其他位置进行描述。 有关详细信息,请参阅 数据挖掘解决方案。
数据挖掘源数据
数据挖掘中使用的数据不存储在数据挖掘解决方案中;仅存储绑定。 数据可能驻留在以前版本的 SQL Server、CRM 系统甚至平面文件中创建的数据库中。 通过处理来训练结构或模型时,数据统计摘要将创建并存储在缓存中,该缓存可以持久保存以供后续作使用,或者在处理后删除。 有关详细信息,请参阅挖掘结构(Analysis Services - 数据挖掘)。
在 Analysis Services 数据源视图 (DSV) 对象中合并不同的数据,该视图在数据源顶部提供抽象层。 可以指定表之间的联接,或添加具有多对一关系的表来创建嵌套表列。 这些对象的定义(数据源和数据源视图)存储在具有文件扩展名 *.ds 和 *.dsv 的解决方案中。 有关创建和使用 Analysis Services 数据源和数据源视图的详细信息,请参阅支持的数据源(SSAS 多维)。
还可以使用 AMO 或 XMLA 定义和更改数据源和数据源视图。 有关以编程方式使用这些对象的详细信息,请参阅逻辑体系结构概述(Analysis Services - 多维数据)。
挖掘结构
数据挖掘结构是一个逻辑数据容器,用于定义从中生成挖掘模型的数据域。 单个挖掘结构可以支持多个挖掘模型。
当需要使用数据挖掘解决方案中的数据时,Analysis Services 会从源读取数据,并生成聚合和其他信息的缓存。 默认情况下,此缓存会保留,以便重用训练数据以支持其他模型。 如果需要删除缓存,请将 CacheMode
挖掘结构对象上的属性更改为值 ClearAfterProcessing
。 有关详细信息,请参阅 AMO 数据挖掘类。
SQL Server 2014 Analysis Services(SSAS)还提供将数据分离到训练和测试数据集的功能,以便可以对代表性随机选择的数据集测试挖掘模型。 数据实际上不是单独存储的;相反,结构缓存中的事例数据被标记为一个属性,该属性指示该特定事例是用于训练还是用于测试。 如果删除缓存,则无法检索该信息。
有关详细信息,请参阅挖掘结构(Analysis Services - 数据挖掘)。
数据挖掘结构可以包含嵌套表。 嵌套表提供有关主数据表中建模事例的其他详细信息。 有关详细信息,请参阅 嵌套表(Analysis Services - 数据挖掘)
挖掘模型
在处理之前,数据挖掘模型只是元数据属性的组合。 这些属性指定挖掘结构、指定数据挖掘算法和定义参数和筛选器设置的集合,这些设置会影响数据的处理方式。 有关详细信息,请参阅挖掘模型(Analysis Services - 数据挖掘)。
处理模型时,存储在挖掘结构缓存中的训练数据用于根据数据的统计属性以及算法及其参数定义的启发式来生成模式。 这称为 训练 模型。
训练的结果是一组摘要数据,包含在 模型内容中,其中描述了找到的模式并提供生成预测的规则。 有关详细信息,请参阅挖掘模型内容(Analysis Services - 数据挖掘)。
在有限的情况下,也可以将模型的逻辑结构导出到一个文件中,根据标准格式(预测建模标记语言(PMML)来表示模型公式和数据绑定。 此逻辑结构可以导入其他利用 PMML 的系统,并使用该模型进行预测。 有关详细信息,请参阅 理解 DMX SELECT 语句。
自定义数据挖掘对象
在数据挖掘项目的上下文中使用的其他对象(如准确性图表或预测查询)不会保留在解决方案中,但可以使用 ASSL 编写脚本或使用 AMO 生成。
此外,可以通过添加以下自定义对象来扩展 Analysis Services 实例上可用的服务和功能:
自定义程序集
可以使用任何 CLR 或 COM 投诉语言定义 .NET 程序集,然后注册到 SQL Server 实例。 程序集文件从应用程序定义的位置加载,副本随数据一起保存在服务器中。 每次启动服务时,程序集文件的副本都用于加载程序集。
有关详细信息,请参阅 多维模型程序集管理。
自定义存储过程
Analysis Services 数据挖掘支持使用存储过程来处理数据挖掘对象。 可以创建自己的存储过程来扩展功能,并更轻松地处理预测查询和内容查询返回的数据。
支持使用以下存储过程来执行交叉验证。
数据挖掘存储过程 (Analysis Services - 数据挖掘)
此外,Analysis Services 还包含许多系统存储过程,这些存储过程在内部用于数据挖掘。 尽管系统存储过程供内部使用,但你可能会发现它们有用的快捷方式。 Microsoft保留根据需要更改这些存储过程的权利;因此,对于生产用途,我们建议使用 DMX、AMO 或 XMLA 创建查询。
自定义插件算法
Analysis Services 提供了一种机制,用于创建自己的算法,然后将这些算法作为新的数据挖掘服务添加到服务器实例。
Analysis Services 使用 COM 接口与插件算法通信。 若要详细了解如何实现新算法,请参阅 插件算法。
必须先注册每个新算法,然后才能使用它。 若要注册算法,请在 Analysis Services 实例的 .ini 文件中为算法添加所需的元数据。 必须将信息添加到计划使用新算法的每个实例。 添加算法后,可以重启实例,并使用MINING_SERVICES架构行集查看新算法,包括算法支持的选项和提供程序。