sklearn調包俠之學習曲線和Pipeline

2021-09-20 01:25:07 字數 2616 閱讀 2243

今天不單獨講解某個機器學習演算法,而是講解機器學習中常用的工具或者說是方法。一是繪製學習曲線,看模型的好壞程度(過擬合還是欠擬合);而是減少**量,利用pipeline構造演算法流水線。

訓練模型通常有三種情況:欠擬合、擬合較好和過擬合。欠擬合一般比較好判別,模型準確度不高都可以說是模型欠擬合。但判斷模型是否過擬合,單獨看準確度是不可信的,模型越複雜,其準確度越高,也很容易過擬合,這時就需要繪製學習曲線觀察模型的擬合情況。

繪製流程

繪製函式

在sklearn中,可以通過sklearn.model_selection中的learning_curve來畫出學習曲線。這裡使用之前knn演算法,通過圖可以看出,knn演算法是處於欠擬合狀態。

在之前的線性回歸案例中,我們可以加入多項式項來增加模型的精度,但每次都需要先將資料通過polynomialfeatures轉換為新資料,然後再擬合模型,模型**和評估也需要將測試集進行多項式轉換。那能不能將資料處理和模型擬合結合在一起,減少**量了?答案是可以,通過pipeline(管道)技術就行。

pipeline技術

pipeline 的中間過程由sklearn相適配的轉換器(transformer)構成,最後一步是乙個estimator(模型)。中間的節點都可以執行fit和transform方法,這樣預處理都可以封裝進去;最後節點只需要實現fit方法,通常就是我們的模型。流程如下圖所示。

以線性回歸為例:

sklearn機器學習之 學習曲線

本文精髓源自b站 莫煩python 系列教程 適用於python3版本,相應第三方庫建議公升級至最新版本 下面展示兩種學習曲線的繪製方法 sklearn.learning curve 中的 learning curve學習曲線 可以很直觀的看出我們的 model 學習的進度,對比發現 有沒有over...

sklearn調包俠之KNN演算法

天下武功,唯快不破。今天就正式講解如何通過 sklearn小抄 武林秘籍,成為一代宗師調包俠。欲練此功,必先自宮 就算自宮,未必成功 若不自宮,也能成功。傳說江湖 機器學習領域 有兩大派別 一是學術派,該派資歷高,家境好,多為名門世家 學歷高,數學好 重基礎 數學推導和理論知識 一是實踐派,以找人切...

sklearn調包俠之邏輯回歸

傳送門 機器學習實戰之logistic回歸 正則化這裡補充下正則化的知識。當乙個模型太複雜時,就容易過擬合,解決的辦法是減少輸入特徵的個數,或者獲取更多的訓練樣本。正則化也是用來解決模型過擬合的一種方法。常用的有l1和l2範數做為正則化項。資料匯入 本次實戰依舊是使用sklearn中的資料集,如圖所...