Esempio n. 1
0
#!/usr/bin/env python
# coding: utf-8

from sklearn.datasets import load_iris
from sklearn.preprocessing import MinMaxScaler
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn2pmml import PMMLPipeline

iris = load_iris()
X_train, X_test, y_train, y_test =  train_test_split(iris.data, iris.target, test_size = 0.25)
y_train
pipe_l = PMMLPipeline([('minmax', MinMaxScaler()), ('lr', LogisticRegression())])
model = pipe_l.fit(X_train,y_train)
pipe_l.score(X_test, y_test)
X_test[1]
y_test[1]
pipe_l.predict([[6.7, 3. , 5.2, 2.3]])

import pandas as pd
irisd = pd.DataFrame(iris.data, columns=iris.feature_names)
irisd.columns

from nyoka import skl_to_pmml
skl_to_pmml(pipe_l, irisd.columns, 'Target', "iris_nyoka_pipeline.pmml")

from sklearn2pmml import sklearn2pmml
sklearn2pmml(pipe_l, "iris_pipeline.pmml", with_repr = True, debug = True)

Esempio n. 2
0
    # nn
    nn = PMMLPipeline([("classifier",
                        sk_nn.MLPClassifier(activation='tanh',
                                            solver='adam',
                                            alpha=0.0001,
                                            learning_rate='adaptive',
                                            learning_rate_init=0.001,
                                            max_iter=1000))])
    # 模型拟合
    nn.fit(data, label)
    # 模型预测
    nn_predict = nn.predict(X_test)
    # 模型评估
    # 基础打分
    nn_score = nn.score(X_test, y_test)
    print(nn_score)
    # 交叉验证
    nn_cross1 = cross_val_score(nn,
                                X_train,
                                y_train,
                                scoring='accuracy',
                                cv=10,
                                n_jobs=-1)
    nn_cross2 = cross_val_score(nn,
                                X_test,
                                y_test,
                                scoring='accuracy',
                                cv=10,
                                n_jobs=-1)
    print(nn_cross1)