创建流水线
隨著實驗的增加,操作的復(fù)雜程度也在提高。我們可能需要切分?jǐn)?shù)據(jù)集,對特征進(jìn)行二值化 處理,以特征或數(shù)據(jù)集中的個體為基礎(chǔ)規(guī)范化數(shù)據(jù),除此之外還可能需要其他各種操作。
當(dāng)操作變得越來越復(fù)雜的時候,我們很難追蹤到數(shù)據(jù)和代碼的運行情況,如果數(shù)據(jù)處理順序錯了,可能也不容易得到我們想要的結(jié)果。這時候,引入流水線來規(guī)范就很有必要了。
from sklearn.pipeline import Pipeline流水線大致分為兩步:
(1)用MinMaxScaler將特征取值范圍規(guī)范到0~1。
(2)指定KNeighborsClassifier分類器。
每一步都用元組(‘名稱’,步驟)來表示。現(xiàn)在來創(chuàng)建流水線。
scaling_pipeline = Pipeline([('scale', MinMaxScaler()),('predict', KNeighborsClassifier())])流水線的核心是元素為元組的列表。第一個元組規(guī)范特征取值范圍,第二個元組實現(xiàn)預(yù)測功能。我們把第一步叫作規(guī)范特征取值(scale),第二步叫作預(yù)測(predict),也可以用其他名字。 元組的第二部分是實際的轉(zhuǎn)換器對象或估計器對象。
下面運行,就可以出結(jié)果了。
scores = cross_val_score(scaling_pipeline, X_broken, y, scoring='accuracy') print("The pipeline scored an average accuracy for is {0:.1f}%". format(np.mean(transformed_scores) * 100))總結(jié)
- 上一篇: 标准预处理
- 下一篇: 用亲和性分析方法推荐电影