交叉驗證法

2021-10-13 07:10:41 字數 1303 閱讀 7600

基本原理

交叉驗證是用來觀察模型的穩定性的一種方法,我們將資料劃分為n份,依次使用其中乙份作為測試集,其他n-1份作為訓練集,多次計算模型的精確性來評估模型的平均準確程度。訓練集和測試集的劃分會干擾模型的結果,因此用交叉驗證n次的結果求出的平均值,是對模型效果的乙個更好的度量。

實現**及注釋

from sklearn.datasets import load_boston

from sklearn.model_selection import cross_val_score

from sklearn.tree import decisiontreeregressor

# 利用datasets中的波士頓房價資料集。

boston = load_boston(

)# 例項化乙個樹,與分類樹類似。

regressor = decisiontreeregressor(random_state=0)

# 進行交叉驗證。

# regressor模型評估器,可以是任何例項化過後的演算法模型。

# boston.data資料集,不需要劃分訓練集與測試集,完整的資料集。

# boston_target 標籤集

# cv = 10 交叉驗證十次,通常為5 ,預設為5

# scoring返回衡量模型的結果,預設為r平方,neg_mean_squared_error為負均方誤差

result = cross_val_score(regressor,

boston.data,

boston.target,

cv=10,

scoring =

"neg_mean_squared_error"

)print

("交叉驗證結果(負均方誤差):"

,result)

結果展示

雖然均方誤差永遠為正,但是sklearn當中使用均方誤差作為評判標準時,卻是計算」負均方誤差「(neg_mean_squared_error)。這是因為sklearn在計算模型評估指標的時候,會考慮指標本身的性質,均方誤差本身是一種誤差,所以被sklearn劃分為模型的一種損失(loss),因此在sklearn當中,都以負數表示。真正的均方誤差mse的數值,其實就是neg_mean_squared_error去掉負號的數字。

林軒田 15 驗證法

驗證資料的選擇 validation set dval 留1法做交叉驗證 k fold 交叉驗證 其他資料 演演算法選方面選擇 pla,pocket,linear regression,logistic regression iteration的次數 100,1000 每步大小 1,0.01 特徵t...

通俗易懂徹底理解十倍交叉驗證法

將所有資料分為十份,然後將每乙份作為驗證集,其他作為訓練集來進行訓練和驗證。在這一過程中,保持超引數一致,然後取10個模型的平均訓練loss和平均驗證loss,來衡量超引數的好壞。最後取得乙個滿意的超引數以後,使用全部資料作為訓練集,用該超引數訓練獲得1個模型。為了降低由於訓練集和驗證集單次劃分而導...

簡述什麼是交叉驗證法 統計學簡答題參考1 0

第三章 聚類分析 聚類分析的基本思想和功能是什麼?聚類分析的核心思想是根據具體的指標 變數 對所研究的個體或者物件進行分類,使得同一類 中的物件之間的相似性比其他類的物件的相似性更強。聚類分析不僅可以用來對樣品進行分類,也可以用來對變數進行分類。對樣品的分類常稱為 q型聚類分析,對變數的分類常稱為 ...