2017-05-23 1 views
0

J'ai besoin de convertir mon modèle de forêt aléatoire en format pmml en python. J'ai importé sklearn2pmml de github et j'ai essayé de créer un fichier pmml. Je cours le code ci-dessous;Conversion d'un fichier pmml pour une forêt aléatoire en python

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") 

Cependant, j'obtiens une erreur;

TypeError: The pipeline object is not an instance of PMMLPipeline 

Une suggestion de ce que je manque ou d'une autre façon de créer le format pmml?

Répondre

0

TypeError: The pipeline object is not an instance of PMMLPipeline

Le premier argument de l'appel de fonction sklearn2pmml doit être une instance de sklearn2pmml.PMMLPipeline. Vous passez une instance de sklearn.ensemble.RandomForestClassifier à la place.

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

Vous êtes jumelant un exemple de code pré-historique avec la dernière version de la bibliothèque sklearn2pmml. Voici vos options:

  1. Exemple de code de mise à niveau vers la dernière version de la bibliothèque sklearn2pmml. S'il vous plaît prendre deux minutes pour lire the "Usage" section of its README.file.
  2. Rétrograder la bibliothèque sklearn2pmml en version 0.13.0 (ou plus ancienne).