知识库 : PMML聚类模型导入导出

Edit Document

 

 

 

 

 

PMML聚类模型导入导出


目录

一、 PMML 聚类模型介绍

二、 聚类模型结构

三、 构造导出 PMML 过程

四、 解析导入 PMML 过程

五、 其他聚类算法

1 PMML 聚类模型介绍

a)          PMML 模型中肯定包括数据字典,字典中包括数据输入列、类型以及可能取值范围。

b)         PMML 中添加聚类模型信息,有提供者提供 PMML 信息,获取者解析 PMML 中包含的信息,并创建聚类模型,完成聚类工作。

c)          通过 PMML 模型,可以做到跨平台,跨软件的挖掘模型信息传递。

2 聚类模型结构

a)          ClusteringModel 是用于标记聚类模型的标签。

b)         ClusteringModel 中包括 modelName functionName algorithmName modelClass 、聚类个数、是否可产生数值等属性。 modelName 表示模型名,是可选的; functionName 表示挖掘方法,这个属性是必须的,在聚类模型中必须被设置为 clustering algorithmName 表示算法名称,可选; modelClass 是必选的,表示模型类别,分为基于中心的和基于分布的两种,基于中心模型如 K-Means ,基于分布的模型如 EM

c)          MiningSchema

      1. 按照 PMML 文档的规范, MiningSchema 是模型元素的门卫,哪个模型都要有,其中包含的 MiningField 应该取至 DataDictionary DataField ,用于标识本模型真正使用到的属性。

d)         Output

      1. 定义输入格式, OutputField 定义每列输入的信息。

e)          LocalTransformations

      1. 类似于 TransformationDictionary

f)           ComparisonMeasure

      1. 指定度量指标,如 euclidean squaredEuclidean minkowski 等,是必选的。

g)          ClusteringField

      1. 指定参与聚类的列。

h)         Cluster

      1. 每个 Cluster 包含一个聚类的簇信息

3 构造导出 PMML 过程

a)          这里使用的是 org.dmg.pmml 包,首先创建 PMMLDocument ,通过 PMMLDocument.getPMML() 获取 PMML ,使用 PMML.addNew 方法按照 dmg.org 网站上提供的 schema.xsd 信息进行添加,最终完成 PMMLDocument 的构造。

4 解析导入 PMML 过程

a)          在导入 PMML 后,首先需要经过 PMMLDocument.validate() 的验证,如果词法和语法有问题,就不能保证解析出的内容完整性。

b)         获取 PMMLDocument 对象后,通过 ClusteringField 获取参与聚类的列,获取指标和簇心信息。

c)          比如 K-Means ,会获取各个质点的信息,然后根据 ComparisonMeasure 指定的指标类型,计算测试集各点所属聚类信息。

5 其他聚类算法

a)          对于一些聚类算法, PMML 并没有直接的支持,比如 modelClass 中不支持密度聚类。

b)         这时,可以使用 ClusteringModel.addNewExtension() 添加扩展,使用 Extension.newCursor 获取 XmlCursor ,通过 XmlCursor 添加扩展内容。在导入模型时,再通过 XmlCursor 解析扩展内容,来达到定制的目的。

Attachments:

PMML聚类模型导入导出.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)