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等,手動調的話太慢了,寫迴圈也只能...