機器學習中模型評估方法

2021-08-28 07:30:59 字數 1333 閱讀 4188

交叉驗證

什麼是交叉驗證(cv)

交叉驗證的基本思想是把在某種意義下將原始資料(dataset)進行分組,一部分做為訓練集(train set),另一部分做為驗證集(validation set or test set),首先用訓練集對分類器進行訓練,再利用驗證集來測試訓練得到的模型(model),以此來做為評價分類器的效能指標。

交叉驗證的分類

1.隨機抽樣驗證(hold-outmethod)

將原始資料隨機分為兩組,一組做為訓練集,一組做為驗證集,利用訓練集訓練分類器,然後利用驗證集驗證模型,記錄最後的分類準確率為此hold-outmethod下分類器的效能指標.。

2.k折交叉驗證(k-fold cross validation)

初始取樣分割成k個子樣本,乙個單獨的子樣本被保留作為驗證模型的資料,其他k-1個樣本用來訓練。交叉驗證重複k次,每個子樣本驗證一次,平均k次的結果或者使用其它結合方式,最終得到乙個單一估測。

3.留一法

假設樣本資料集中有n個樣本資料。將每個樣本單獨作為測試集,其餘n-1個樣本作為訓練集,這樣得到了n個分類器或模型,用這n個分類器或模型的分類準確率的平均數作為此分類器的效能指標。 

方法優缺點對比

隨機抽樣驗證在驗證時可能從未做過訓練或測試資料,而有些資料多次選為訓練或測試資料。

k折交叉驗證中每乙個樣本資料都即被用作訓練資料,避免的過度學習和欠學習狀態的發生,得到的結果比較具有說服力。十折交叉驗證是最常用的。

留一法中每乙個分類器或模型都是用幾乎所有的樣本來訓練模型,最接近樣本,這樣評估所得的結果比較可靠。實驗沒有隨機因素,整個過程是可重複的。但缺點是計算成本高,當n非常大時,計算耗時。

交叉驗證目的

交叉驗證的目的用於評估模型的效能,得到可靠穩定的模型。

交叉驗證例項

模型評估指標(準確率(accuracy),精確率(precision),召回率(recall))

對於資料測試結果有下面4種情況:

tp(true positive): **為正,實際為正

fp(false positive): **為正,實際為負

tn(true negative):**為負,實際為負

fn(false negative): **為負,實際為正

評估公式

準確率:accuracy=(tp+tn)/(tp+tn+fn+fp)

精準率: p = tp/ (tp+fp)

召回率: r = tp/ (tp+fn)

評價分類器效能的指標一般是分類準確率(accuracy),其定義是:對於給定的測試資料集,分類器正確分類的樣本數和總樣本數之比。對於二分類問題常見的評價指標是精確率(precision)與召回率(recall)。

機器學習模型評估方法

分類模型評價度量 概率輸出型 這個有邏輯回歸 隨機森林 梯度提公升 adaboost等演算法,都是以概率作為輸出的。要想把概率型輸出變為分型別輸出,只要為其設立乙個閾值即可。positive predictive value 陽性 值 or precision 精度 陽性 值被 正確的比例。nega...

機器學習中的模型評估方法

最近在打kaggle的比賽,看到很多人都用了k折驗證法,以前也接觸過這部分知識,想上網查點資料再鞏固一下這部分知識,發現很多人根本連驗證集和測試集都沒搞清楚,說的雲裡霧裡的,於是就想自己總結一下k折驗證法的基本概念,順便總結一下機器學習中的模型評估方法。holdout檢驗 holdout檢驗是最簡單...

機器學習方法 機器學習模型評估方法

通常我們採用實驗測試的方法對模型的泛化誤差做出評估。為此我們就需要乙個測試集用來測試訓練好的模型。通常情況下,在我們拿到資料之後,在正式開始訓練模型前,就會將資料劃分為訓練集合測試集。需要注意的是 訓練集與測試集應盡可能互斥,也就是盡量不要重複。測試集要符合真實樣本的分布,也就是說在劃分時要隨機抽樣...