泛統計理論初探——模型評估的驗證策略

數據挖掘-模型驗證策略簡介

模型評估的驗證策略簡介
在數據挖掘和機器學習的過程中,我們需要對使用的模型的預測效果進行評估,有時候由於測試集或者驗證集選擇的不夠好或是數據本身的樣本就非常少,導致了模型的評估不夠準確。下面我們將介紹使用的較多的三種模型評估的驗證策略,即K折交叉驗證、留一法、自助法。
在拿到一份數據後,傳統的方法會把數據分爲1個訓練集與1個測試集,然後在訓練集上調試模型,把模型拿到測試集上去測試,得到一個模型的預測準確率的值。而K折交叉驗證方法是把數據隨機分爲K份,然後用其中的K-1份進行訓練,剩下的1份進行測試,得到1個預測準確率的值,然後重複K次,將K個預測準確率值求平均,得到最終該模型的預測準確率。
在這裏插入圖片描述
上圖是以K折交叉方法的一種,即10折交叉驗證方法。我們看到數據是均勻分爲10份,每次取9份數據做訓練集和1份數據做測試集,得到10個結果後取平均值,然後得到最終的模型預測準確率。
對於小樣本的情況,比如數據可能只有幾十條甚至只有十幾條,這個時候使用留一法會比較有效果,因爲可以保證每個樣本都被當作測試集驗證過,而在K折交叉方法中,可能有一小部分的樣本從未被當作測試集使用過。而留一法是K折交叉方法的一種特殊情況,即這個時候取K爲樣本數量。比如有20條數據,這個時候使用留一法就是K取20的K折交叉驗證方法,每次都取19條數據進行模型的訓練集,1條數據做模型的預測集,如此便可以充分利用每一條數據。在樣本量較大的情況,一般不採用留一法。
自助法是一種隨機抽取的方法,即該方法不是一次性選出訓練集的,而是每次隨機的從整個數據集(比如有N條數據)抽取1條數據,記錄後進行放回。然後再繼續抽,直到抽取次數達到了N次後得到N個樣本的數據,但由於其中是存在重複數據的,去除重複後,訓練集的佔比約佔63.2% ,而測試集的佔比約佔36.8% 。因爲當N取值較大的時候,得到如下公式:
在這裏插入圖片描述
下面通過例子對自助法進行說明,比如當前有10條數據,記作0、1、2、3、4、5、6、7、8、9的標號,我們進行10次抽取,如下表:

0號 1號 2號 3號 4號 5號 6號 7號 8號 9號
2次 未中 1次 未中 1次 2次 未中 3次 未中 1次

根據上表我們可以發現,7號抽中了3次、0號和5號抽中了2次、2號、4號、9號抽中了1次,而1號、3號、6號、8號未被抽中。所以我們把1、3、6、8作爲數據的測試集;0、2、4、5、7、9作爲數據的訓練集。訓練集佔總數據的比例爲60%、測試集佔總數據的比例爲40% ,即和之前的公式得到的比例較爲接近。
值得注意的是,自助法的好處是用於那種數據分佈較爲平均,並且樣本量較小的情況。對於那些分佈明顯不平衡的數據,或是數據量較大的情況,使用自助法並不合適。自助法由於無法完全利用數據,所以除非數據量極小,否則一般不太使用。
總的來說,使用什麼樣的模型評估驗證策略主要取決於數據量的多少和數據分佈的均衡性。如果數據量較小,並且數據分佈的較爲均衡,則可以使用自助法。如果數據量較小,又想對數據充分利用,那麼可以使用留一法。當數據量較大的時候,檢驗使用K折交叉驗證方法,但是要主要K值的選取,當數據量較大的時候應當適當減小K值,比如設爲5、10等。初學者對於模型評估的驗證策略要多加註意,對於不同的情況使用不同的驗證策略。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章