2017-05-15 19 views
1

나는 데이터, 두 개의 범주 형 변수 및 두 개의 이진 목표 변수를 레이블링했습니다.PMML로 내보내기 모델

헤더 예를 들면;

column_1,column_2,column_3,column_4,target_1,target_1 

PMML로 내보내려면 어떻게해야합니까? Pipeline#fit(X, y) 방법의 y 인수 라벨이 - 내가 찾은 유일한 예는 자율 데이터 제공된 예 약 classificication 감독을

import pandas 

iris_df = pandas.read_csv("Iris.csv") 

from sklearn2pmml import PMMLPipeline 
from sklearn2pmml.decoration import ContinuousDomain 
from sklearn_pandas import DataFrameMapper 
from sklearn.decomposition import PCA 
from sklearn.feature_selection import SelectKBest 
from sklearn.preprocessing import Imputer 
from sklearn.linear_model import LogisticRegression 

iris_pipeline = PMMLPipeline([ 
    ("mapper", DataFrameMapper([ 
     (["Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width"], [ContinuousDomain(), Imputer()]) 
    ])), 
    ("pca", PCA(n_components = 3)), 
    ("selector", SelectKBest(k = 2)), 
    ("classifier", LogisticRegression()) 
]) 
iris_pipeline.fit(iris_df, iris_df["Species"]) 

from sklearn2pmml import sklearn2pmml 

sklearn2pmml(iris_pipeline, "LogisticRegressionIris.pmml", with_repr = True) 

답변

1

함께.

귀하의 경우는 다음과 같이 보일 것이다 :

pipeline = PMMLPipeline(
    ("mapper", DataFrameMapper([ 
    (feature_column, LabelBinarizer()) for feature_column in ["column_1", "column_2", "column_3", "column_4"] 
    ])), 
    ("classifier", LogisticClassification()) 
) 
pipeline.fit(df, df["target_1"])