sklearn-pmml的简介
一个允许将SciKit-Learn估计器序列化到PMML的库。PMML输出。分类器转换器只能操作分类输出,对于每个分类输出变量“varname”,PMML输出包含以下输出:-实例预测标签的分类“varname”-双“varname”。标签'表示给定标签的概率。回归模型PMML输出数值响应变量作为输出变量。支持的模型:
DecisionTreeClassifier
DecisionTreeRegressor
GradientBoostingClassifier
RandomForestClassifier
1、分类
分类器转换器只能操作分类输出,对于每个分类输出变量varname, PMML输出包含以下输出:
实例的预测标签的分类varname
varname两倍。标签表示一个给定标签的概率
2、回归
回归模型PMML输出数值响应变量作为输出变量
sklearn-pmml的安装
pip install sklearn-pmml
pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple sklearn-pmml
sklearn-pmml的使用方法
1、保存GBDT模型为pmml文件并载入
GBDT = GradientBoostingClassifier(random_state=123,max_depth=5,min_samples_split=10)
clf = PMMLPipeline([('vecd', DictVectorizer(sparse=False)), ('classifier', GBDT)])
vec = DictVectorizer(sparse=False)
clf.fit(X_train_dict, y_train)
y_predict = clf.predict(X_test_dict)
print(clf.score(X_test_dict, y_test))
print(classification_report(y_predict, y_test, target_names=['died', 'survivied']))
print(roc_auc_score(y_test,y_predict))
sklearn2pmml(clf, 'Model.pmml', with_repr=True, debug=True)
from pypmml import Model
model=Model.fromFile('Model.pmml')
X = titanic[['pclass', 'age', 'sex',"room"]]
ret=model.predict(X_test);
print(ret)
auc=roc_auc_score(y_test,round(ret['probability(1)']))
print(auc)
、