将pmml模型解析为scikit学习估计器的库。
sklearn-pmml-model的Python项目详细描述
SKLEARN PMML型号
将pmml模型解析为scikit学习估计器的库。
安装
最简单的方法是使用pip:
$ pip install sklearn-pmml-model
状态
这个库是非常alpha的,目前只支持有限数量的模型。库当前支持以下型号:
- Decision Trees(
sklearn_pmml_model.tree.PMMLTreeClassifier
) - Random Forests(
sklearn_pmml_model.ensemble.PMMLForestClassifier
) - Linear Regression(
sklearn_pmml_model.linear_model.PMMLLinearRegression
) - Ridge(^{
}) - Lasso(
sklearn_pmml_model.linear_model.PMMLLasso
) - ElasticNet(
sklearn_pmml_model.linear_model.PMMLElasticNet
)
覆盖了specification的一小部分:
- 数据字典
- 数据字段(连续、分类、序号)
- 值
- 间隔
- 数据字段(连续、分类、序号)
- 转换字典
- 德里维德菲尔德
- 树模型
- 简单预测
- SimpleResetPredicate
- 分段(仅限“多数投票”,用于随机林)
- 回归
- 回归表
- 数字预测器
- 分类预测器
- 回归表
- 一般回归模型(仅线性模型)
- ppmatrix公司
- ppcell
- 参数矩阵
- pcell
- ppmatrix公司
示例
最小工作示例如下所示:
fromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_splitimportpandasaspdimportnumpyasnpfromsklearn_pmml_model.ensembleimportPMMLForestClassifier# Prepare datairis=load_iris()X=pd.DataFrame(iris.data)X.columns=np.array(iris.feature_names)y=pd.Series(np.array(iris.target_names)[iris.target])y.name="Class"Xtr,Xte,ytr,yte=train_test_split(X,y,test_size=0.33,random_state=123)clf=PMMLForestClassifier(pmml="models/randomForest.pmml")clf.predict(Xte)clf.score(Xte,yte)
更多的例子可以在后面的包中找到:tree,ensemble和linear_model。
开发
先决条件
可以使用py.test运行测试。获取源的本地副本:
$ git clone http://github.com/iamDecode/sklearn-pmml-model
$ cd sklearn-pmml-model
创建并激活虚拟环境:
$ python3 -m venv venv
$ source venv/bin/activate
并安装依赖项:
$ pip install -r requirements.txt
最后一步是构建cython扩展:
$ python setup.py build_ext --inplace
测试
您可以通过运行py.test来执行测试:
$ python setup.py pytest
贡献
请随意作出贡献。请阅读CONTRIBUTING.md了解有关行为准则和提交请求的过程的详细信息。
许可证
此项目是根据bsd 2子句许可证授权的-有关详细信息,请参阅LICENSE文件。