sklearn 中的 Pipeline 機制

2021-08-19 01:53:27 字數 1467 閱讀 5088

from sklearn.pipeline import pipeline
from pandas as pd

from sklearn.cross_validation import train_test_split

from sklearn.preprocessing import labelencoder

df = pd.read_csv(''

'breast-cancer-wisconsin/wdbc.data', header=none)

# breast cancer wisconsin dataset

x, y = df.values[:, 2:], df.values[:, 1]

# y為字元型標籤

# 使用labelencoder類將其轉換為0開始的數值型

encoder = labelencoder()

y = encoder.fit_transform(y)

>>> encoder.transform(['m', 'b'])

array([1, 0])

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=.2, random_state=0)

既然是分類器,classifier也是少不了的,自然是最後乙個環節

中間可加上比如資料降維(pca)

。。。

from sklearn.preprocessing import standardscaler

from sklearn.decomposition import pca

from sklearn.linear_model import logisticregression

from sklearn.pipeline import pipeline

pipe_lr = pipeline([('sc', standardscaler()), #去均值和方差歸一化

('pca', pca(n_components=2)),

('clf', logisticregression(random_state=1))

])pipe_lr.fit(x_train, y_train)

print('test accuracy: %.3f' % pipe_lr.score(x_test, y_test))

# test accuracy: 0.947

pipeline([('sc', standardscaler()), ('pca', pca(n_components=2)), ('clf', logisticregression(random_state=1))])
transformer 構成intermediate steps,logisticregression 作為最終的estimator。

sklearn 中的 Pipeline 機制

管道機制在機器學習 演算法中得以應用的根源在於,引數集在新資料集 比如測試集 上的重複使用。管道機制實現了對全部步驟的流式化封裝和管理 streaming workflows with pipelines 注意 管道機制更像是程式設計技巧的創新,而非演算法的創新。接下來我們以乙個具體的例子來演示sk...

sklearn中的Lasso函式

lasso alpha 1.0,fit intercept true,normalize false,precompute false,copy x true,max iter 1000,tol 1e 4,warm start false,positive false,random state no...

sklearn中GridSearch的使用

搞懂了k fold,就可以聊一聊gridsearch啦,因為gridsearch預設引數就是3 fold的,如果沒有不懂cross validation就很難理解這個.gridsearch是為了解決調參的問題.比如向量機svm的常用引數有kernel,gamma,c等,手動調的話太慢了,寫迴圈也只能...