簡體   English   中英

如何創建k折交叉驗證測試?

[英]How to create a k-fold cross validation test?

我有一個要驗證的來自污染傳感器的數據。 我正在將其與londonair.org.uk的數據進行比較。 我使用X軸上的傳感器數據和Y軸上的Londonair數據創建了一個簡單的線性回歸模型,並且能夠獲得一個簡單模型(以y = mx + c的形式)。 我的教授要求我使用k倍交叉驗證來驗證模型,但是我不確定如何驗證。

我不確定要在哪個數據集上執行測試。 應該是從傳感器獲取的原始數據,還是應該獲取通過回歸模型計算出的數據?

微型折疊驗證法簡介

K-fold交叉驗證將訓練數據集分為k個不同的相等部分,也稱為“折疊”。 依次將每個折疊視為測試集(也稱為“驗證集”),而其余的k-1塊成為訓練集。 該模型通過遍歷k-1個塊進行訓練,並在驗證集塊上測試結果模型,在該模型上測量了一些度量,例如准確性,標准偏差等。該過程重復k次,此后所有模型評估的平均值計算以確定最終模型評估。

總而言之,可以通過以下步驟實現K折交叉驗證:

隨機播放初始數據集。

  1. 將數據集拆分為k折。
  2. 每折:

    (a)將第一折設置為測試數據集。

    (b)將剩余的折痕設置為訓練數據集。

    (c)使用訓練集來演化模型,並使用該模型來評估測試數據集。

    (d)重復k次。

  3. 為k個測試數據集評估計算模型評估的平均值。

您正在驗證模型 ,即您試圖了解模型在原始數據中捕獲基礎模式和關系的能力如何-因此,用於訓練的數據將是原始數據(訓練意味着您正在將數據輸入模型以使其能夠學習),而驗證數據是您輸入模型以了解其對訓練數據的學習程度的數據。 k折交叉驗證的基本思想是不對模型進行訓練之前已經看到的數據進行測試。

在此處輸入圖片說明

特別是你的情況

您的數據帶有標簽,每個實例都是一個“對”:污染數據->倫敦航空數據。 假設您有100對唯一的對-您將向模型中輸入80個這樣的對以進行訓練( 如果原始數據污染值是a ,londonair標簽是b ),其余20對將用於驗證-您將模型對污染數據並檢查模型是否返回了與污染數據相對應的正確的倫敦航空數據標簽( 如果原始數據污染值為a ,則標簽應根據模型是什么? )。 重復上面介紹中所述的過程,然后取平均結果,這將反映您的模型准確性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM