экспортировать модель в PMML

У меня есть помеченные данные, пара категориальных переменных и две двоичные целевые переменные.

заголовок например;

column_1,column_2,column_3,column_4,target_1,target_1 

как экспортировать в PMML? единственный пример, который я нашел, - это неконтролируемые данные

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)

person whoopdedoo    schedule 15.05.2017    source источник


Ответы (1)


Приведенный пример касается контролируемой классификации — аргумент y метода Pipeline#fit(X, y) является меткой.

Ваш случай будет выглядеть так:

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"])
person user1808924    schedule 15.05.2017