前面提到,應用sklearn中的pipeline機制的高效性;本文重點討論pipeline與網格搜尋在機器學習實踐中的結合運用:
結合管道和網格搜尋以調整預處理步驟以及模型引數
一般地,sklearn中經常用到網格搜尋尋找應用模型的超引數;實際上,在訓練資料被送入模型之前,對資料的預處理中也會有超引數的介入,比如給資料集新增多項式特徵時所指定的指數大小;
而且,一般都是將資料預處理完成後再傳入估計器進行擬合,此時利用網格搜尋只會單獨調整估計器的超引數;如若利用pipeline結合預處理步驟和模型估計器則可以同時尋找最佳的超引數配對。
例項如下:
上圖中,利用管道結合了3個處理步驟,並使用網格搜尋機制針對其中兩個步驟的超引數進行調優,一個是預處理階段的PolynomialFeatures,另一個是模型Ridge
結合管道和網格搜尋以選定模型
一般地,選用不同的模型會涉及到不同的預處理步驟,如採用隨機森林進行分類訓練時可以不對資料作預處理操作,而應用支援向量機時則需要對資料進行標準化;
下圖中,利用管道結合預處理中的標準化步驟和分類模型,當模型採用隨機森林時,預處理步驟置空,並利用網格搜尋尋找隨機森林的超引數;當模型採用支援向量機時,啟用預處理步驟,並利用網格搜尋尋找支援向量機的超引數。
通過此種結合應用,選定最適合的分類模型。