
在使用數(shù)據(jù)模型時,由于模型的算法不同而導致接受數(shù)據(jù)時有不同的學習模式。通過這種直觀的學習方式,讓模型通過給定數(shù)據(jù)集的學習從而找出其中的規(guī)律,這個過程稱為訓練模型。
然后,將訓練完畢的模型在測試數(shù)據(jù)集上測試,這些測試數(shù)據(jù)是模型之前沒有見過的。實際上,我們希望達到的最佳效果是模型在訓練和測試數(shù)據(jù)集上都能產(chǎn)生準確的輸出,也就是模型在訓練集和測試集上的表現(xiàn)一致。
你可能也聽說過驗證集的方式。這種方式是將數(shù)據(jù)集分成兩部分:訓練數(shù)據(jù)集和測試數(shù)據(jù)集。一部分的數(shù)據(jù)被用來訓練模型,而另一部分的數(shù)據(jù)被用來測試訓練好的模型。
然而,這種驗證集的方法有缺點。
該模型將學習訓練數(shù)據(jù)集中的所有模式,由于它從來沒有接觸過測試集的數(shù)據(jù),因此它可能遺漏測試數(shù)據(jù)集中的相關信息。這導致模型失去了提高整體性能的重要信息。
另一個缺點是,訓練數(shù)據(jù)集可能面臨數(shù)據(jù)中的異常值或錯誤,而模型將學習這些有問題的數(shù)據(jù),并將這些數(shù)據(jù)作為模型知識庫的一部分,然后在第二階段的測試中應用。
那么,我們?nèi)绾渭m正上述的缺點呢?答案是:重新采樣。
重采樣是一種方法,包括從訓練數(shù)據(jù)集中反復抽取樣本。然后,這些樣本被用來重新擬合一個特定的模型,以檢索更多關于擬合模型的信息。其目的是收集更多關于樣本的信息,提高準確性并估計不確定性。
例如,如果你正在研究線性回歸擬合,并想檢查變異性。就可以重復使用訓練數(shù)據(jù)中的不同樣本,并對每個樣本進行線性回歸擬合。這將使你能夠檢查結果在不同樣本上的不同表現(xiàn),從而獲得新的信息。
重新取樣的顯著優(yōu)勢是,你可以從同一群體中反復抽取小樣本,直到你的模型達到最佳性能。由于能夠循環(huán)使用同一個數(shù)據(jù)集,你將節(jié)省大量的時間和金錢,而不必去尋找新的數(shù)據(jù)。
?如果你正在處理高度不平衡的數(shù)據(jù)集,重采樣是可以提升模型準確率的一種技術。
欠采樣是指從多數(shù)類中移除樣本,以提供更多的平衡。
過度采樣是指由于收集的數(shù)據(jù)不足,從少數(shù)類別中復制隨機樣本并充當樣本。
然而,上述的兩種方法都存在劣勢,在取樣不足的情況下刪除樣本會導致信息的損失。從少數(shù)類中重復隨機樣本會導致過度擬合。
數(shù)據(jù)科學中經(jīng)常使用兩種重抽樣方法:
Bootstrap法(引導法)
交叉驗證法
這種方法用在一些不遵循典型正態(tài)分布的數(shù)據(jù)集。因此,可以應用Bootstrap方法來檢查數(shù)據(jù)集的隱藏信息和分布。
在使用Bootstrap方法時,抽出的樣本會被替換,而不包括在樣本中的數(shù)據(jù)被用來測試模型。它是一種靈活的統(tǒng)計方法,可以幫助數(shù)據(jù)科學家和機器學習工程師量化不確定性。
其過程包括如下:
1.?反復從數(shù)據(jù)集中抽取樣本觀測值
2.?替換這些樣本,以確保原始數(shù)據(jù)集保持在相同的規(guī)模。
3.?一個觀察值可以出現(xiàn)不止一次,也可以完全不出現(xiàn)。
你可能聽說過Bagging,即合集技術。它是Bootstrap Aggregation的簡稱,它結合了Bootstrap和聚合來形成一個集合模型。它創(chuàng)建了多個原始訓練數(shù)據(jù)集,然后匯總得出最終的預測結果。每個模型都會學習前一個模型的錯誤。
引導法的一個優(yōu)點是,與上面提到的訓練-測試分割法相比,它們的方差較低。
當你重復地隨機分割數(shù)據(jù)集時,會導致樣本最終進入訓練集或測試集。這可能會不幸地對你的模型產(chǎn)生不平衡的影響,使其無法做出準確的預測。
為了避免這種情況,你可以使用K-Fold交叉驗證法來更有效地分割數(shù)據(jù)。在這個過程中,數(shù)據(jù)被分為k個相等的集合,其中一個集合被定義為測試集,而其余的集合則用于訓練模型。這個過程將一直持續(xù)到每個集合都作為測試集,并且所有的集合都經(jīng)過了訓練階段。
其個過程包括:
1.?數(shù)據(jù)被分割成k個部分。例如,一個數(shù)據(jù)集被分成10個部分--10個相等的集合。
2.?在第一次迭代中,模型在(k-1)上進行訓練,并在剩余的一組上進行測試。假設每個數(shù)據(jù)集合都有編號,第一次訓練把1-9號數(shù)據(jù)集合作為訓練集,把10號集合作為測試集。第二訓練把1-8號集合以及10號集合作為測試集,把9號集合作為測試集。第三次把1-7號集合以及9、10號集合作為訓練集合,把8號集合作為測試集合。
3.?這個過程不斷重復(10次),直到所有的集合都作為測試集合進行訓練為止。
這使每個樣本有平衡的代表性,確保所有的數(shù)據(jù)都被用來改善模型的學習,以及測試模型的性能。
?在這篇文章中,你將了解什么是重采樣,以及如何以3種不同的方式對你的數(shù)據(jù)集進行采樣:訓練-測試分割、bootstrap和交叉驗證。
所有這些方法的目標是幫助模型以有效的方式吸收盡可能多的信息。確保模型成功學習的唯一方法是在數(shù)據(jù)集中的各種數(shù)據(jù)點上訓練模型。
重新采樣是預測性建模階段的一個重要元素;確保準確的輸出、創(chuàng)建高性能的模型和有效的工作流程。