本文共 4015 字,大约阅读时间需要 13 分钟。
PMML全称预言模型标记模型(Predictive Model Markup Language),以XML 为载体呈现数据挖掘模型。PMML 允许您在不同的应用程序之间轻松共享预测分析模型。因此,您可以在一个系统中定型一个模型,在 PMML 中对其进行表达,然后将其移动到另一个系统中,而不需考虑分析和预测过程中的具体实现细节。使得模型的部署摆脱了模型开发和产品整合的束缚。
PMML 标准是数据挖掘过程的一个实例化标准,它按照数据挖掘任务执行过程,有序的定义了数据挖掘不同阶段的相关信息:
PMML文件使用头信息作为开始,它主要用于记录产品、版权、模型描述,建模时间等描述性信息。例如:
2017-07-04 16:33:42
其中:
数据字典定义了所有变量的信息,包括预测变量和目标变量。这些信息包括变量名,量度和类型等。 对于分类变量,可能包含各种不同类型的分类值, 包括有效值 (valid value),遗漏值 (missing value) 和无效值 (invalid value), 它们由 Value 的“property”属性决定;对于连续变量,可以指定一个或多个有效值范围 (Interval)。
定义预测变量和目标变量
一旦数据字典对数据集做出了定义,那么就可以在其之上进行各种数据转换的预处理操作。这是由于有时用户所提供的数据并不能直接用于建模,需要将原始的用户数据转换或映射成模型可以识别和使用的数据类型,这就需要使用数据转换来完成。譬如,神经网络模型内部仅能处理数值型的数据,如果用户数据中含有离散型数据,如性别包含“男”、“女”二值,那在建模前就需要将性别变量映射成 0 和 1 来分别表示“男”和“女”。
PMML 标准支持一些常用的数据转换预处理操作,并在此基础上支持使用函数表达式的转换。以下所列的是标准所定义的一些简单的数据转换操作:
如下:给出了一个使用 Discretization 的示例。通过两个给定的区间将连续型变量“Profit”转换成仅含“negative”和“positive”二值的离散变量。
如下:给出了一个使用 Functions 的示例,通过使用内建函数 if 和 isMissing 将变量“PREVEXP”中的缺失值替换为指定的均值。值得注意的是,替换了缺失值之后将产生一个新的变量“PREVEXP_without_missing”。
mean
具体的模型定义,最新的 PMML 4.0.1 定义了一下十三种模型:
这些模型都是帮助使用者从历史性的数据中提取出无法直观发现的,具有推广意义的数据模式。比如说 Association model,关联规则模型,常被用来发现大量交易数据中不同产品的购买关系和规则。使用其分析超市的销售单就可以发现,那些购买婴幼儿奶粉和护肤品的客户同时也会以较大的可能性去购买纸尿裤。这样有助于管理人员作出合理的商业决策,有导向的推动购物行为,比如将上述产品放在相邻的购物架上便于客户购买,从而产生更高的销售额。Tree model,树模型,也是很常用的模型,她采用类似树分支的结构将数据逐层划分成节点,而每个叶子节点就表示一个特别的类别。树模型受到应用领域广泛的欢迎,还有一个重要的原因就是她所做出的预测决策易于解释,能够快速推广。为了支持这些模型,PMML 标准提供了大量的语法来有针对性的表示不同的模型。
评分结果集可以在输出元素 (Output) 中定义
输出元素 : 描述了从模型中获取评分结果值的集合。每一个输出变量指定名称,类型,规则计算和结果特征。 结果特征 (feature): 它是一个结果的标识符 , 它有很多的分类表达,常见统计观念如下:
2017-07-11 13:18:36
PMML 官网: