[英]Computing training score using cross_val_score
我正在使用cross_val_score
來計算回歸量的平均分數。 這是一個小片段。
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import cross_val_score
cross_val_score(LinearRegression(), X, y_reg, cv = 5)
使用它,我得到了一系列分數。 我想知道驗證集上的分數(如上面數組中返回的)與訓練集上的分數有何不同,以了解我的模型是過擬合還是欠擬合。
有沒有辦法用cross_val_score
對象做到這一點?
您可以使用cross_validate
而不是cross_val_score
根據文檔:
cross_validate
函數在兩個方面與cross_val_score
不同 -
- 它允許指定多個評估指標。
- 除了測試分數之外,它還返回一個包含訓練分數、擬合時間和分數時間的字典。
你為什么要那樣? cross_val_score(cv=5)
會為您執行此操作,因為它將您的訓練數據拆分 10 次並驗證 5 個測試子集的准確度分數。 這種方法已經可以作為一種防止模型過度擬合的方法。
無論如何,如果您渴望驗證驗證數據的准確性,那么您必須首先在X和y_reg上擬合LinearRegression 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.