如何从sklearn模型创建可导入到sklearn-pmml-model的python文件的pmml?

时间:2019-07-16 03:35:00

标签: python scikit-learn pmml

我想从scikit-learn模型创建PMML文件。 pmml文件将从其他python文件读取/导入。但是结果给了我各种错误

错误列表:

  • PMML模型集成应使用多数表决。
  • Sklearn仅支持二叉树模型。

现在我很困惑是哪个错误产生的。创建pmml文件(导出)或导入pmml文件时是?或其他任何可以解决我问题的图书馆建议?

我尝试了许多库(例如sklearn2pmml,nyoka和scikit2pmml)来创建PMML文件,但是结果是相同的。

对于导入pmml文件,我正在使用sklearn-pmml-model。

创建模型:

#create model and export pmml files
import pandas
iris_df = pandas.read_csv("/smart_apps/iris2.csv")

from sklearn.tree import DecisionTreeClassifier
from sklearn2pmml.pipeline import PMMLPipeline

pipeline = PMMLPipeline([("classifier", DecisionTreeClassifier())])
pipeline.fit(iris_df[iris_df.columns.difference(["species"])], iris_df["species"])

from sklearn2pmml import sklearn2pmml
sklearn2pmml(pipeline, "model4.pmml", with_repr = True)

#import pmml
from sklearn_pmml_model.tree import PMMLTreeClassifier
model = PMMLTreeClassifier(pmml='/home/zeppelin/model4.pmml')

预期结果:成功导入pmml文件

1 个答案:

答案 0 :(得分:0)

您可以使用PyPMML在Python中导入pmml文件,例如:

from pypmml import Model
model = Model.fromFile('/home/zeppelin/model4.pmml')
result_df = model.predict(iris_df)