您當前的位置:首頁 > 攝影

做100次機器學習(不同訓練集測試集的劃分),選取測試集auc最高的模型做為最佳模型,這樣合理嗎?

作者:由 東北本地人 發表于 攝影時間:2022-01-27

做100次機器學習(不同訓練集測試集的劃分),選取測試集auc最高的模型做為最佳模型,這樣合理嗎?我是小白呀2022-01-27 05:36:31

flod = k (交叉驗證)

加一下的話可以, 不用 100 次, 資料量大的話幾次即可。

做100次機器學習(不同訓練集測試集的劃分),選取測試集auc最高的模型做為最佳模型,這樣合理嗎?極速BigStone2022-01-27 13:30:28

如果你只有一個模型,只需要執行一次即可。你執行100次然後挑選AUC最好的這種做法無意義,因為你的資料集是隨機抽樣獲得,你最好的那個模型是隨機獲得的一個模型,它的AUC最優只是一種隨機現象,並不代表它一定就是最優。

如果只有一個模型,做多次資料集劃分的主要目的是要獲得泛化誤差的平均值,以此來作為總體泛化誤差的估計值。如果有多個模型,則可以透過這個估計值來評判哪個模型會更好,透過方差分析和多重比較方法。

從你的問題來看,你好像只有一個模型,並且不存在多個模型的比較問題,那麼你執行一次就可以了(把資料扔給軟體,讓軟體自己跑一次即可)。

做100次機器學習(不同訓練集測試集的劃分),選取測試集auc最高的模型做為最佳模型,這樣合理嗎?漢德桑東2022-01-29 14:41:39

實際模型開發一般(不一定是所有模型)會有三個資料集,訓練集,驗證集,測試集。訓練集訓練資料,根據驗證集結果調整超引數,防止過擬合,而測試集代表模型的最終效能(不要根據測試集去調整任何引數)。

一般模型穩定,資料量足夠大的情況下,你拿同一套超引數去訓練,一般來說結果差距不會很大。除非你在訓練過程中嘗試多種超引數,找到最優的超引數組合,那這個是很正常的模型開發工作,我理解不至於被挑戰。

如果同一個模型每次跑出來結果天差地別,靠撞運氣撞出來一個數據效果好的,那要麼是模型有問題,要麼是資料有問題。

標簽: 模型  引數  資料  訓練  最優