PMML记分卡生成器
scorecard的Python项目详细描述
用于提交pmml记分卡模型和查询的python客户机 他们开始评分
PMML记分卡:http://dmg.org/pmml/v4-2-1/Scorecard.html 附加背景
openscoring rest api:https://github.com/jpmml/openscoring演示 实例:http://openscoring-ncoghlan.rhcloud.com/openscoring/demo git 回购:https://github.com/ncoghlan/openscoring-openshift
从json输入生成pmml记分卡
命令行调用:
pyscorecard input_spec.json pmml_output_dir
输出pmml文件名是基于 “model_name”和“param_grid”条目如下所述。
在python api中,scorecard.pmml_scorecard生成pmml记分卡 来自json兼容输入映射的定义。
参见examples/risk_example.json(input)和examples/risk_example.xml (输出)
所有记分卡产生一个单一的预测风险评分和多达3个原因 代码:
- RiskScore
- ReasonCode1
- ReasonCode2
- ReasonCode3
生成的记分卡当前也都是硬编码的,以使用 “PointsAbove”原因码算法,“Min”基线分数算法, 0作为整体记分卡评估的初始分数, 1作为每个单独特征的基线分数(这 确保获得部分分数0的特征是 从未报告为总体风险评分的原因代码)。
输入格式是具有以下字段的json映射:
- model_name:模型的名称(也用作输出文件名 前缀)
- param_grid:用于特征的参数定义 谓词
- key是可以替换为谓词的变量名
- 值是输出文件名后缀到子项值的映射
- 当定义多个网格参数时,键按词汇排序。 确定组合输出文件名时
- data_fields:数据字典的字段定义序列 并在生成的pmml记分卡中缩小模式部分
- name:用于datafield条目和miningfield条目
- dataType:用于数据字段条目
- optype:在datafield条目中用于定义对 比较
- values:分类字段和序数字段的允许值
- characteristics:特性的定义序列 生成的PMML记分卡中的部分
- name:此特征使用的数据字段。也用于派生 特征名为name + "Score",以及 特征原因代码为name + "RC"
- attributes:由
特性
- reasonCode:满足此条件时的特定原因代码
- partialScore:当 符合标准
- predicate:定义此条件的谓词(有关 详细信息)
谓词可以定义为单个字符串,也可以定义为 这些弦。每个字符串谓词的形式为“op value”,其中 特征定义中命名的数据字段是隐含的左边 手术的手部。谓词序列是隐式的和' 一起定义该属性要满足的总体标准。 谓词值可以以$开头,表示网格参数- 这些将替换为记分卡的适当值 当前正在生成。
对于具有^{tt26}的数据字段,允许的操作是==。$ optype和数据字段的==、<、<=、>=和>。 使用ordinal或continuous操作类型。