博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JPMML打分流程
阅读量:2356 次
发布时间:2019-05-10

本文共 1463 字,大约阅读时间需要 4 分钟。

准备数据

输入数据即预测变量数据集,不包括目标标量。预测变量由挖掘模式 (Mining Schema) 定义,每一个预测变量的属性在数据字典中定义。

数据预处理

该过程的主要目的是检测输入数据的有效行。

  • 遗漏值 (missing value) 检测。如果输入值为空,则为 missing value。否则对于分类变量,如果数据字典中定义了有效分类值和遗漏值集合, 如果输入数据等于其中某一遗漏值,或者不等于任何遗漏值,但是也不属于某一种有效值,我们都认为该值是一个遗漏值。 对于连续变量来说,数据字典中可以定义一个或多个有效值区间 (Interval),如果输入值不在该区间,该值就是 missing value, 如果没有任何有效区间定义,任何有效的数值都是有效。如清单 1 所示,变量 Sex 的取值只有 {F, M},如果不是这两个取值, 就认为是遗漏值;变量 Age 有效区间为 [0, 120],如果输入值为 150 则被认为是 missing value。
  • 异常值 (outliers) 检测。该检测只适用于连续变量,如果输入数据不是 missing value,PMML 定义了以下三种不同的处理方式:
    • 不做任何处理 (asIs)。
    • 作为 missing value(asMissingValues)。
    • 被边界值代替 (asExtremeValues)。如果小于最小值,则被当前的最小值代替,否则如果大于最大值, 被最大值代替。如清单 2 所示,如果变量 Na 输入值为 0.01,会被最小值 0.02 代替,如果输入值是 0.09,则会被最大值 0.08 代替。
  • 遗漏值 (missing value) 替换。如果输入值被认为是 missing value,PMML 可以在挖掘模式中可以定义遗漏替换值, 如果该属性被定义,当前遗漏值会它所替换。如清单 2 所示,如果输入的变量 BP 被判定为遗漏值,将使用“HIGH”进行取代。

打分

不同的模型 Score 方式是不一样的,取决于模型的类型。以我们最常用的决策树来说, Score 就是从根节点 (root node) 开始,根据每一个节点的判断语句 (Predicates),选择其中的一个子节点, 直到达到叶子节点为止。

输出结果

按照output 所定义的格式输出结果

  • Rule: SimpleRuleScoreDistribution{result=1, confidence_entries=[1=1.0], entityId=RULE1}
  • RandomForest: ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} setosa 1.0 0.0 0.0
  • LR: 0.9999999972257427 0.9999999972257427
  • GBDT: ProbabilityDistribution{result=0, probability_entries=[0=0.9965122268672915, 1=0.003487773132708538]} 0.9965122268672915 0.003487773132708538
  • DT: NodeScoreDistribution{result=1, probability_entries=[0=0.0, 1=1.0], entityId=2, confidence_entries=[]}

转载地址:http://zcftb.baihongyu.com/

你可能感兴趣的文章
iOS AFNetworking 以及 Cookie 详解
查看>>
Intellij IDEA 将工程转换成maven工程 详解
查看>>
Linux 安装以及基本使用Hadoop 详解
查看>>
iOS 在 xib 文件中使用 UIScrollView
查看>>
iOS pushViewController 和 presentViewController的区别 详解
查看>>
iOS UICollectionView 和 UITableView cell更新 详解
查看>>
iOS UINavigationController 详解
查看>>
iOS UIViewController 和 xib 绑定 详解
查看>>
Hue 安装部署 详解
查看>>
Linux 安装Scala 详解
查看>>
MySQL 分支版本对比 详解
查看>>
MyCat 注解 详解
查看>>
MySQL 循环方法 while loop repeat 详解
查看>>
Java 创建对象以及类加载 详解
查看>>
JavaScript 闭包 详解
查看>>
Oracle 基础知识 详解
查看>>
JVM 命令参数 详解
查看>>
Java 产生随机数 详解
查看>>
Linux 后台执行命令 详解
查看>>
SpringBoot @ConfigurationProperties参数绑定 详解
查看>>