加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server 2005 Analysis Services数据挖掘算法扩展方法

发布时间:2016-09-12 11:29:25 所属栏目:MsSql教程 来源:站长网
导读:本文是对英文原文SQL Server Data Mining Managed Plug-In Algorithms Tutorial的部分翻译及整理,主要是描述SSAS数据挖掘算法的基本扩展方法和开发过程。本文
本文是对英文原文SQL Server Data Mining Managed Plug-In Algorithms Tutorial的部分翻译及整理,主要是描述SSAS数据挖掘算法的基本扩展方法和开发过程。本文的内容只是原文的一部分,如果想了解更多信息可以下载原文。英文原文在本文附件中下载。

SSAS为我们提供了九种数据挖掘算法,但是在应用中我们需要根据实际问题设计适当的算法,这个时候就需要扩展SSAS,使它能应用更多的算法,SSAS有比较好的可扩展性,它提供了一个完整的机制来进行扩展,只要继承一些类并按适当的方法进行注册就可以在SSAS中使用自己的算法了。下面我将通过实例分别用几篇文章来介绍一下如何开发SSAS算法插件。本文介绍的算法插件开发方法是基于托管代码的,是用C#开发的(算法插件也可以用C++开发,并且SQLSERVER2005的案例中附带C++版本的代码stub)。整个过程大至为六个步骤。在开始开发之前需要做一些准备工作,就是要去下载一个用C++编写的COM组件,叫DMPluginWrapper(可以通过下载本文附带的附件获得),它作为SSAS与算法插件的中间层,用于处理SSAS与算法插件之间的交互以及封装从SSAS到算法插件的参数和从算法插件到SSAS的处理结果。DMPluginWrapper、SSAS和算法插件之间的关系可以由下图来描述。

SQL Server 2005 Analysis Services数据挖掘算法扩展方法

图表 1: DMPluginWrapper、SSAS和算法插件之间的关系

下面开始创建算法扩展的项目。

首先新建一个类库项目(名为AlgorithmPlugin)将刚才的DMPluginWrapper项目引用到新建的这个AlgorithmPlugin类库项目中。你可以选择为这个类库项目进行程序集签名,这样就可以将其注册到GAC中。另外还要为DMPluginWrapper添加后生成脚本将程序集注册到GAC,参考脚本如下(根据机器具体设置而定):

"C:WINDOWSMicrosoft.NETFrameworkv2.0.50727RegAsm.exe" $(TargetPath)
"C:Program FilesMicrosoft Visual Studio 8SDKv2.0Bingacutil.exe" /u $(TargetName)
"C:Program FilesMicrosoft Visual Studio 8SDKv2.0Bingacutil.exe" /if $(TargetPath)

如果第一行脚本不能正确运行的话,算法插件是不能被SQLSERVER分析服务器识别的。另外两行脚本就是将算法程序集注册到GAC。

接下来的几个步骤主要是继承一些基类的工作,包括AlgorithmMetadataBase类、AlgorithmBase类和ICaseProcessor接口和AlgorithmNavigationBase类。首先在AlgorithmPlugin中新建一个类文件并命名为Metadata,为这个类添加ComVisible、MiningAlgorithmClass(typeof(Algorithm))和Guid属性(Algorithm是下面要创建的算法类),并为Guid属性指定一个GUID编码。这个类要继承于AlgorithmMetadataBase类。现在要做的事情就是覆盖基类的方法。下面是所有需要覆盖的方法(对于较简单的实现写在表格中):

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读