2017-05-23 20 views
0

私のランダムフォレストモデルをPythonのpmmlフォーマットに変換する必要があります。私はgithubからsklearn2pmmlをインポートし、pmmlファイルを作成しようとしました。私は以下のコードを実行します。Pythonのランダムフォレスト用のpmmlファイルを変換する

import pandas 
import sklearn_pandas 

iris = iris.csv 

iris_df = pandas.concat((pandas.DataFrame(iris.data[:, :], columns = ["Sepal.Length", "sepal_width", "petal_length", "petal_width"]), pandas.DataFrame(iris.target, columns = ["species"])), axis = 1) 

iris_mapper = sklearn_pandas.DataFrameMapper([('sepal_length',None), 
               ('sepal_width', None), 
               ('petal_width', None), 
               ('petal_width', None), 
               ('species',None)]) 

iris = iris_mapper.fit_transform(iris_df) 

from sklearn.ensemble import RandomForestClassifier 

iris_X = iris[:, 0:4] 
iris_y = iris[:, 4] 

iris_classifier = RandomForestClassifier(n_estimators=10) 
iris_classifier.fit(iris_X, iris_y) 

from sklearn2pmml import sklearn2pmml 

sklearn2pmml(iris_classifier, iris_mapper, "randomforest.pmml") 

ただし、エラーが発生します。

TypeError: The pipeline object is not an instance of PMMLPipeline 

何か提案がありませんか、またはpmml形式を作成する別の方法はありますか?

答えて

0

TypeError: The pipeline object is not an instance of PMMLPipeline

sklearn2pmml関数呼び出しの最初の引数はsklearn2pmml.PMMLPipelineのインスタンスでなければなりません。代わりにsklearn.ensemble.RandomForestClassifierのインスタンスを渡しています。

Any suggestion what I am missing or another way to creat pmml format?

以前のコード例とsklearn2pmmlライブラリの最新バージョンを組み合わせて使用​​しています。これらはあなたのオプションです:

  1. 最新のsklearn2pmmlライブラリバージョンにアップグレードするコード例です。 the "Usage" section of its README.fileまで2分ほどかかります。
  2. sklearn2pmmlライブラリを0.13.0(またはそれ以上)バージョンにダウングレードします。
関連する問題