插件算法

适用于:SQL Server 2019 及更早版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium

重要

数据挖掘在 SQL Server 2017 Analysis Services 中已弃用,现在在 SQL Server 2022 Analysis Services 中已停止使用。 对于已弃用和停止使用的功能,文档不会更新。 若要了解详细信息,请参阅 Analysis Services 后向兼容性

除了 Microsoft SQL Server SQL Server Analysis Services 提供的算法外,还可以使用许多其他算法进行数据挖掘。 因此,SQL Server Analysis Services为第三方创建的“插入”算法提供了一种机制。 只要算法遵循某些标准,就可以像使用 Microsoft 算法一样,在SQL Server Analysis Services内使用它们。 插件算法具有SQL Server SQL Server Analysis Services提供的所有算法功能。

有关SQL Server Analysis Services用于与插件算法通信的接口的完整说明,请参阅在 CodePlex 网站上发布的用于创建自定义算法和自定义模型查看器的示例。

算法要求

若要将算法插入SQL Server Analysis Services,必须实现以下 COM 接口:

IDMAlgorithm
实现一个生成模型的算法,并且实现该结果模型的预测操作。

IDMAlgorithmNavigation
启用浏览器来访问模型的内容。

IDMPersist
使算法训练的模型可由SQL Server Analysis Services保存和加载。

IDMAlgorithmMetadata
介绍算法的功能和输入参数。

IDMAlgorithmFactory
创建实现算法接口的 对象的实例,并为SQL Server Analysis Services提供对 algorithm-metadata 接口的访问权限。

SQL Server Analysis Services使用这些 COM 接口与插件算法通信。 尽管使用的插件算法必须支持 Microsoft OLE DB for Data Mining 规范,但它们不必支持规范中的所有数据挖掘选项。 您可以使用 MINING_SERVICES 架构行集来确定一个算法的功能。 此架构行集列出了每个插件算法提供程序的数据挖掘支持选项。

在将新算法与SQL Server Analysis Services一起使用之前,必须注册新算法。 若要注册算法,请在要包含算法的 SQL Server Analysis Services 实例的 .ini 文件中包含以下信息:

  • 算法名称

  • ProgID(可选并且只能为插件算法包括此信息)

  • 指示算法是否启用的标志

下面的代码示例阐明了如何注册新算法:

<ConfigurationSettings>

...

<DataMining>

...

<Algorithms>

...

<Sample_Plugin_Algorithm>

<Enabled>1</Enabled>

<ProgID>Microsoft.DataMining.SamplePlugInAlgorithm.Factory</ProgID>

</Sample_PlugIn_Algorithm>

...

</Algorithms>

...

</DataMining>

...

</ConfigurationSettings>

另请参阅

数据挖掘算法(Analysis Services – 数据挖掘)