對于許多機器學習算法,特定數據表示非常重要。首先對數據進行縮放,然后手動合并特征,再利用無監督機器學習來學習特征。因此,大多數機器學習應用不僅需要應用單個算法,而且還需要將許多不同的處理步驟和機器學習模型鏈接在一起。Pipeline類可以用來簡化構建變換和模型鏈的過程。將Pipeline和GridSearchCV結合起來,可以同時搜索所有處理步驟中的參數。
舉例:使用MinMaxScaler對cancer數據集進行預處理,提高核SVM在cancer數據集上的性能,實現劃分數據、計算最小值和最大值、縮放數據與訓練SVM:
from sklearn.svm import SVC
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
# 加載并劃分數據
cancer = load_breast_cancer()
X_train, X_test, y_train, y_test = train_test_split( cancer.data,