机器学习-PipeLine初识

学习
A Scikit_Learn pipeline can be regarded as a meta-estimator or several tansformers and estimator can also be wrappered around together. If we call the fit method of Pipeline, the data will be passed down a series of transformers via fit and transform calls on these intermediate steps until it arrives at the estimator object (the final element in a pipeline). The estimator will then be fitted to the transformered training data.

FROM:
Sebastian Raschka, Vahid Mirjalili. Python机器学习第二版. 南京:东南大学出版社,2018.

代码

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import make_pipeline

breast=datasets.load_breast_cancer()
X=breast.data
y=breast.target
X_train,X_test,y_train,y_test=\
    train_test_split(X,y,test_size=0.2,stratify=y,random_state=1)

pipe_lr=make_pipeline(StandardScaler(),
                      PCA(n_components=2),
                      LogisticRegression(random_state=1))
pipe_lr.fit(X_train,y_train)
y_pred=pipe_lr.predict(X_test)
print("Accuracy in Test: %.3f" % pipe_lr.score(X_test,y_test))

运行结果

Accuracy in Test: 0.956

值得注意,管道化的PipeLine应用于训练集的流程,亦会完全应用于测试集。

你可能感兴趣的:(机器学习,python,机器学习)