数据分析工具生成pmml调研报告V1008.docx

上传人:b****8 文档编号:11205267 上传时间:2023-02-25 格式:DOCX 页数:21 大小:451.57KB
下载 相关 举报
数据分析工具生成pmml调研报告V1008.docx_第1页
第1页 / 共21页
数据分析工具生成pmml调研报告V1008.docx_第2页
第2页 / 共21页
数据分析工具生成pmml调研报告V1008.docx_第3页
第3页 / 共21页
数据分析工具生成pmml调研报告V1008.docx_第4页
第4页 / 共21页
数据分析工具生成pmml调研报告V1008.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

数据分析工具生成pmml调研报告V1008.docx

《数据分析工具生成pmml调研报告V1008.docx》由会员分享,可在线阅读,更多相关《数据分析工具生成pmml调研报告V1008.docx(21页珍藏版)》请在冰豆网上搜索。

数据分析工具生成pmml调研报告V1008.docx

数据分析工具生成pmml调研报告V1008

 

DW开源工具

调研

 

目录

第一章、概述3

1.1、PMML概述:

3

1.2、支持PMML的收费工具:

4

1.3、支持PMML的开源工具:

4

1.4、目前不支持的PMML工具:

4

1.5、内容安排:

4

第二章、收费DM工具5

2.1、SAS公司的EnterpriseMiner:

5

2.1.1工具说明5

2.1.2使用方式说明5

2.2、IBM公司的IntelligentMiner8

2.2.1工具说明8

2.2.2使用方式说明9

2.3、IBMSPSSModeler:

13

2.3.1工具说明13

2.3.2使用方式14

第三章、开源DM工具14

3.1、Weka:

14

3.1.1程序界面14

3.1.2代码16

3.2、R:

18

3.3、knime:

18

3.1.2程序界面18

第四章、总结19

 

第一章、概述

1.1、PMML概述:

数据挖掘任务主要由以下步骤组成:

◆定义数据字典:

定义对分析问题有价值的数据变量。

◆预处理数据:

通过对现有变量的衍生、映射、合并等操作,产生适合于建模的变量。

◆制定挖掘模式:

指定数据挖掘建模过程处理异常值和缺失值的策略。

◆表示数据挖掘模型:

记录模型的结构和参数等信息。

◆预测评价:

将测试数据集应用于所获得的模型,以各种准则获得性能评。

根据数据挖掘任务的需要,国际组织制定了数据挖掘的描述标准语言PMML。

PMML(PredictiveModelMarkupLanguage)是一个开放的工业标准,它以XML为载体将上述数据挖掘任务标准化,可以把某一产品所创建的数据挖掘方案应用于任何其它遵从PMML标准的产品或平台中,而不需考虑分析和预测过程中的具体实现细节。

使得模型的部署摆脱了模型开发和产品整合的束缚,为商业智能产品、数据仓库和云计算中的数据挖掘模型的应用环境开拓了新的篇章。

PMML标准是数据挖掘过程的一个实例化标准,它按照数据挖掘任务执行过程,有序的定义了数据挖掘不同阶段的相关信息:

◆头信息

◆数据字典

◆数据转换

◆模型表示

◆预测评价

有关具体的PMML标准的描述参见“pmml详解.doc”,此次调研的工具都支持到pmml3,不支持pmml4

1.2、支持PMML的收费工具:

ØSAS公司的EnterpriseMiner,具ML,部分支持,支持预测评价的pmml生成

ØIBM公司的IntelligentMiner,全部支持,支持pmml格式的生成和导入

ØSPSS公司的Clementetine(已经被IBM公司收购),支持pmml格式的生成和导入

1.3、支持PMML的开源工具:

ØR,网上的信息说支持,但是实际没有找到支持方式,Version15.1。

ØWeka,部分支持,在gui界面下不支持pmml文件,但是可以通过命令行方式使用pmml。

ØKNIME支持,可以使用weka的算法,在gui界面上提供了pmml的加载插件,支持部分数据挖掘算法

1.4、目前不支持的PMML工具:

ØRapidMiner下载后没找到使用pmml的方式,正在查他的文档

ØOrange正在下载

ØSqlserver数据挖掘工具,使用自身的数据挖掘模型,在192.168.7.181上有安装

1.5、内容安排:

各个章节的描述内容:

✧第二章介绍收费工具对于PMML的支持。

✧第三章介绍开源工具对于PMML的支持。

✧第四章对于PMML的支持进行了总结。

第二章、收费DM工具

本章介绍SAS公司的EnterpriseMiner,具ML,IBM公司的IntelligentMiner,SPSS公司的Clementetine(已经被IBM公司收购),对于pmml的支持。

2.1、SAS公司的EnterpriseMiner:

SAS的EnterpriseMiner支持PMML的模型Assess--评分,由于没有下载到SASEnterpriseMiner因此以下信息取自网络。

SASEnterpriseMiner支持对于以下算法的PMML模型评分

包括:

1,关联分析算法

2,分类算法

3,聚类算法

SASEnterpriseMiner在Assess模型的时候生成PMML文件,Assess也是SASEnterpriseMiner的一个模块。

可以拖到画布上。

2.1.1工具说明

SASEnterpriseMiner把统计分析系统和图形用户界面(GUI)集成在一起,并与SAS协会定义的数据挖掘方法——SEMMA方法,即抽样(Sample)、探索(Explore)、修改(Modify)建模(Model)、评价(Assess)紧密结合,其中评价(Assess)对于SAS提供的所有数据挖掘算法都支持生成PMML。

SASEnterpriseMiner简称EM,它的运行方式是通过在一个工作空间(workspace)中按照一定的顺序添加各种可以实现不同功能的节点,然后对不同节点进行相应的设置,最后运行整个工作流程(workflow),便可以得到相应的结果。

2.1.2使用方式说明

EM中工具分为七类:

⏹ Sample类   包含InputDataSource、Sampling、DataPartition

⏹ Explore类  包含DistributionExplorer、Multiplot、Insight、 

Association、VariableSelection、LinkAnalysis

(Exp.)

⏹ Modify类   包含DataSetAttribute、TransformVariable、Filter

Outliers、Replacement、Clustering、SOM/Kohonen、

TimeSeries(Exp.)

⏹ Model类    包括Regression、Tree、NeuralNetwork、

Princomp/Dmneural、UserDefinedModel、Ensemble、

Memory-BasedReasoning、TwoStageModel

⏹ Assess类    包括Assessment、Reporter

⏹ Scoring类   包括Score、C*Score

⏹ Utility类   包括GroupProcessing、DataMiningDatabase、SAS

Code、Controlpoint、Subdiagram

其中的Assess类支持生成PMML。

使用方式为:

EM用来评估模型的工具是Assessment节点,Assessment节点通过运行Test数据可以对所有模型的精确性进行检验。

  

(1)  将Assessment节点拖到工作区中,放到Regression节点的下面,分别连接Regression和Tree节点到Assessment节点。

(2)  右键单击Assessment节点,选择Run,运行过程中从Replacement到Assessment节点四周会出现绿色方框,运行结束在弹出对话框中选择“是”,会出现AssessmentTool窗口

(3)  按住Shift键,选择Tree和Regression两个模型,单击SAS主菜单中的“工具”选择“升降图”出现LiftChart窗口

2.2、IBM公司的IntelligentMiner

DB2数据挖掘方法使用IntelligentMiner,后者是InfoSphere®Warehouse的一部分。

IntelligentMiner®将这些结果存储为预测模型标记语言(PredictiveModelMarkupLanguage,PMML)格式,这种格式基于XML。

自DB29发布以来,存储为XML格式的信息就可以使用XQuery进行有效处理。

了解如何轻松使用DB2XQuery,根据您的数据挖掘结果创建您自己的访问方法。

数据挖掘任务的结果称为数据挖掘模型,它们存储在使用PMML标准的表中。

这个标准基于XML,允许在不同数据挖掘提供者之间轻松交换数据。

这样一个模型然后可以应用到新数据上,这称为记分(scoring)。

2.2.1工具说明

IntelligentMiner通过UDF和STP集成到DB2中。

您可以使用一组SQL语句或InfoSphereWarehouseDesignStudio图形界面来创建一个数据挖掘模型。

图形界面是一种更加方便的方法。

PMML模型存储在DB2表中,这些表既可用于记录新数据,也可用于提取信息。

创建模型之后,可以使用IntelligentMinerVisualizer以图形方式查看模型,也可以使用现有的IntelligentMiner提取功能来通过SQL获得一些信息。

例如,您可以提取集群模型的一个概述,其中显示集群数量、使用的字段和模型质量。

Eg:

SELECT

"ID"AS"CLUSTERID",

CAST("NAME"ASCHAR(20))AS"CLUSTERNAME",

"SIZE",

CAST("HOMOGENEITY"ASDEC(5,2))AS"HOMOGENEITY"

FROMTABLE

(IDMMX.DM_getClusters((

SELECT"MODEL"

FROMIDMMX."CLUSTERMODELS"

WHERE"MODELNAME"='BANK.CUSTOMERS_SEGMENTS')))

AS"CLUSTERS"

ORDERBYSIZEDESC;

2.2.2使用方式说明

结合使用XQuery和IntelligentMiner

大多数信息都可以使用可用的数据挖掘函数提取,但是还有一些信息无法提取。

您可以结合使用XQuery函数和IntelligentMiner函数来直接从PMML模型读取这些隐藏的部分。

IntelligentMiner目前不允许提取集群附加字段的细节。

一个字段可以是活动的,也可以是附加的,具体取决于它对于计算集群的价值。

例如,充当DB2中的主键且始终具有不同值的字段会自动移动到附加字段,因为它们无法提供有助于了解集群的信息。

您可以在PMML模型的XML节点MiningField中找到隐藏的信息。

如果属性usageType具有值Supplementary,那么它表示一个附加字段。

活动字段是默认的使用类型,因此它不会在PMML文件中表示出来。

一个PMMLMiningSchema示例。

...

 

下面的例子展示了如何在DB2中实现一个UDF来提取所有集群字段,以及显示这些字段的使用类型。

CREATEFUNCTIONgetClusterMiningFields(mnamevarchar(128))

RETURNSTABLE(namevarchar(20),

usagetypevarchar(20))

LANGUAGESQL

BEGINATOMICRETURN

selectX.name,

CASEWHENX.usageTypeISNULLTHEN'active'

ELSEX.usageTypeEND

fromXMLTable('$DATA//*:

MiningField'PASSING

XMLPARSE(document(

selectIDMMX.DM_expClusModel(cm.MODEL)

fromIDMMX.CLUSTERMODELScm

whereMODELNAME=mname))as"DATA"

columns

namevarchar(20)path'@name',

usageTypevarchar(20)path'@usageType')asX;

END@

UDF被声明为一个表函数,这意味着它返回一个临时表,而不是一个值。

因为它是使用SQL编写的,所以LANGUAGE属于SQL。

UDF的主体在BEGIN与END标记之间实现。

所有结果列都在SQL/XQuery语句的选择部分中指定。

在示例中,这些列是X.name和X.usageType,它们是XMLTABLE表达式的输出列。

X.usageType的case语句表示活动的XML属性没有写入PMML文档。

XMLPARSE是必需的,因为PMML文档本身没有直接存储在一个XML列中。

该文档需要使用IDMMX.DM_expClusModel函数从一个BLOB列中导出,然后应该使用XMLPARSE函数将其复制到一个XML值中。

一旦文档可以作为XML值使用,您就可以使用XQuery来处理它,XQuery示例所示。

要调用创建函数语句,将这些语句放入一个文件中,并使用清单16中所示语法调用这个文件。

注意,没有使用传统的语句结束字符,因为在UDF中需要使用该字符。

调用包含创建函数语句的文件

db2-td@-vfcreateClusterFieldUDF.db2

 

当在一个select语句中调用UDF时,您将获得字段的信息,包括哪些字段是活动的,哪些是附加的,如清单17所示。

清单.读取字段信息

db2selectt1.name,t1.usagetypefromtable

(getClusterMiningFields('BankCustomerSegments'))t1

NAMEUSAGETYPE

----------------------------------------

AGEactive

NBR_YEARS_CLIactive

GENDERactive

MARITAL_STATUSactive

PROFESSIONactive

SAVINGS_ACCOUNTactive

HAS_LIFE_INSURANCEactive

INT_CREDITCARDactive

ONLINE_ACCESSactive

JOINED_ACCOUNTSactive

BANKCARDactive

CLIENT_IDsupplementary

AVERAGE_BALANCEactive

NO_CRED_TRANSactive

NO_DEBIT_TRANSactive

15record(s)selected.

 

相同的功能也可以添加到一个STP中。

创建STP的语法看起来稍有不同,但代码本身完全一样,如清单18所示。

清单.使用一个STP

CREATEPROCEDUREgetClusterMiningFields

inmnamevarchar(128)

LANGUAGESQL

RESULTSETS1

BEGIN

DECLAREcursor1CURSORWITHRETURNFOR

selectX.name,

CASEWHENX.usageTypeISNULLTHEN'active'

ELSEX.usageTypeEND

fromXMLTable('$DATA//*:

MiningField'PASSING

XMLPARSE(document(

selectIDMMX.DM_expClusModel(cm.MODEL)

fromIDMMX.CLUSTERMODELScm

whereMODELNAME=mname))as"DATA"

columns

namevarchar(20)path'@name',

usageTypevarchar(20)path'@usageType')asX;

OPENcursor1;

END@

 

您可以使用call语句从DB2命令行窗口调用STP。

输出(如清单19所示)与您在UDF实现中看到的结果完全一样。

清单.从DB2命令行窗口调用STP的结果

db2callgetClusterMiningFields('BankCustomerSegments')

Resultset1

--------------

NAME2

----------------------------------------

AGEactive

NBR_YEARS_CLIactive

GENDERactive

MARITAL_STATUSactive

PROFESSIONactive

SAVINGS_ACCOUNTactive

HAS_LIFE_INSURANCEactive

INT_CREDITCARDactive

ONLINE_ACCESSactive

JOINED_ACCOUNTSactive

BANKCARDactive

CLIENT_IDsupplementary

AVERAGE_BALANCEactive

NO_CRED_TRANSactive

NO_DEBIT_TRANSactive

15record(s)selected.

ReturnStatus=0

结合使用XQuery和IntelligentMiner轻松编写您自己的PMML提取函数,以及将结果作为关系数据传入您的SQL。

所有操作无需编程语言,并且创建UDF的过程更加简单,因为它受图形工具支持。

2.3、IBMSPSSModeler:

IBMSPSSModeler工具完全支持pmml模型,用户生成的数据挖掘的配置文件可以直接保存为pmml文件。

同时他支持pmml文件的导入。

2.3.1工具说明

IBMSPSSModeler工具使用数据流方式进行数据挖掘,通过将可视化的模块串联进行数据挖掘的配置。

由于IBMSPSSModeler完全支持pmml因此具体的使用方式就不列出,具体请参考使用手册。

2.3.2使用方式

完全支持,配置完成后,可以直接保存为pmml格式的xml文件。

具体使用方式参考用户手册。

第三章、开源DM工具

3.1、Weka:

Weka代码中支持从pmml文件导入模型,和导出pmml模型,但是gui目前的配置文件保存方式是kfml文件,因此gui方式下无法对pmml格式的文件进行操作。

但是在命令行方式下可以进行pmml的操作。

3.1.1程序界面

Weka中对于数据做分析的界面有两个一个是explorer,一个是knowledgeflow,其中knowledgeflow可以完全包含explorer中的功能。

Explorer界面:

Explorer中不支持导出pmml功能

Knowledgeflow界面如下:

加载配置的文件时只能是weka自定义的配置文件,不支持导出pmml功能

3.1.2代码

1,工厂方法:

weka使用工厂方式根据pmml文件生成挖掘模型。

类名为

工厂类中支持加载,并导出pmml文件。

2,pmml实现类,在pmml包中,目前支持的算法为

REGRESSION_MODEL("Regression"),

GENERAL_REGRESSION_MODEL("GeneralRegression"),

NEURAL_NETWORK_MODEL("NeuralNetwork"),

TREE_MODEL("TreeModel"),

RULESET_MODEL("RuleSetModel"),

SVM_MODEL("SupportVectorMachineModel");

3,测试类的测试方法如下:

PMMLModelmodel=getPMMLModel(args[0],null);

System.out.println(model);

if(args.length==2){

//loadanarfffile

InstancestestData=newInstances(newjava.io.BufferedReader(newjava.io.FileReader(args[1])));

InstancesminingSchemaI=model.getMiningSchema().getFieldsAsInstances();

if(miningSchemaI.classIndex()>=0){

StringclassName=miningSchemaI.classAttribute().name();

for(inti=0;i

if(testData.attribute(i).name().equals(className)){

testData.setClassIndex(i);

System.out.println("Foundclass"+className+"intestdata.");

break;

}

}

}

System.out.println(applyClassifier(model,testData));

3.2、R:

R主要使用命令行方式,使用数据包中提供的函数集,进行数据处理,和数据挖掘。

在R的样例代码中没有找到和pmml相关的内容,在R的使用手册中也没有找到相关内容。

经过调研,R需要手动下载支持pmml的包,并安装pmml包后可以有函数支持pmml。

选择安装程序包后,弹出下图

选择pmml,确定后zip包开始下载。

下载完毕后选择安装zip包,选定刚才下载的2个包,即可。

提供的方法为pmml(),程序帮助如下:

pmml(model,model.name="Rattle_Model",app.name="Rattle/PMML",

description=NULL,copyright=NULL,transforms=NULL,dataset=NULL,

...)

参数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1