什麼是機器學習模型的資料分割?


介紹

機器學習徹底改變了各個行業,使它們能夠利用預測分析和智慧決策。但是,在機器能夠學習之前,它需要資料進行訓練。機器學習流程中的一個關鍵步驟是將可用資料拆分為不同的子集,用於訓練、驗證和測試目的。本文探討了機器學習模型的資料分割到底是什麼意思,以及為什麼它對於模型效能至關重要。

機器學習模型的資料分割

對於大多數傳統的機器學習任務,這涉及建立三個主要子集:訓練集、驗證集(可選)和測試集。本質上,資料分割是指根據特定標準或比例將可用資料集劃分為不同的組。

  • 訓練集

    訓練集構成原始資料集的最大部分,並作為模型學習階段的燃料。我們在模型的訓練階段向演算法提供這些標記資料,以便它能夠準確地理解特徵及其對應標籤之間的模式。

    訓練集 (70%):模型用來從可用資料中學習模式。

  • 驗證集

    雖然並非總是強制性的,但驗證集有助於透過在超引數調整或特徵選擇過程中評估模型的效能來微調我們的模型。它可以幫助我們避免過擬合——當模型在已知示例上表現良好,但在推廣到新示例時表現不佳時。

    驗證集 (15%):在訓練期間使用,用於調整超引數並防止過擬合。

  • 測試集:最後是關鍵的測試集——一個未見過的子集,僅在我們完全訓練完模型後才使用——其目的是評估它在超出僅僅記住訓練樣本中的資訊之外的真實場景中的泛化能力。

    測試集 (15%):模型改進後保留用於最終評估目的。

資料分割的重要性

有效的資料分割在實現可靠的機器學習模型中發揮著幾個關鍵作用

  • 效能評估:透過評估在開發階段未觸及的獨立測試集上的預測,我們可以估計當呈現新的資料點時,我們的最終模型的準確性和魯棒性到底有多高。

  • 模型選擇:驗證集有助於比較多個潛在模型的效能,並選擇具有最佳超引數、架構或特徵集的模型。這透過在部署之前評估泛化能力來防止過擬合。

  • 避免洩漏:資料分割將純粹嵌入在訓練樣本中的資訊模式與在驗證或測試集中找到的模式分開。它確保我們的模型學習有價值的見解,同時避免意外學習特定於這些子集的資訊,而不是問題中固有的潛在關係。

資料分割的最佳實踐

為了確保公平的評估並在分割資料時避免偏差結果,必須遵循一些關鍵準則

  • 隨機性:使用適當的隨機抽樣技術隨機分割資料集,以便它們能夠代表現實場景。

  • 分層:如果處理不平衡的類別(例如,欺詐檢測),則透過使用分層抽樣方法在分割中保持類別分佈比例。

  • 適當的規模:對於集合大小沒有固定的規則;適當的選擇取決於各種因素,例如資料集大小、複雜性和可用的計算資源。但是,常見做法建議任務為 70-80% 的訓練集,最多 15-20% 的驗證集(如果使用),其餘 10-20% 作為測試集。

資料分割方法

隨機抽樣方法

隨機抽樣方法是資料分割中最常用的技術之一。它將資料集隨機劃分為訓練集、驗證集和測試集,並定義比例,例如 70-15-15 或 80-10-10。

這種技術因其簡單性而廣受歡迎,但如果隨機性恰好不成比例地分離特定子集特有的某些模式或特徵,則可能會存在潛在的偏差。

分層抽樣技術

在處理不平衡資料集時,分層抽樣解決了簡單隨機抽樣引入的偏差。透過在生成子集時保持類別分佈比例,分層抽樣確保每個子集中的人口中所有類別都得到充分表示。

例如,在二元分類問題中,類別 A 構成 90% 的樣本,而類別 B 僅佔 10%,分層抽樣將在每個子集中按比例分配這兩個類別——從而減少模型評估期間與類別不平衡相關的問題。

基於時間分割

基於時間分割在建立時間序列資料集中的分割槽時考慮時間順序——這在財務預測或天氣預報應用程式中很常見——其中較舊的觀察結果可能與最近的觀察結果相比沒有意義。

在基於時間的劃分中,資料按時間順序排序,指定截止點將較早的觀察結果用於訓練或驗證,並將最近的觀察結果用於測試。這種方法利用時間依賴性,同時確保對未來時間例項的泛化。

K 折交叉驗證

它透過利用迭代重取樣技術來減輕傳統隨機或分層抽樣的潛在弱點。資料集被分成“k”個大小相等的分割槽(通常為 5 或 10),其中每個分割槽都充當一次驗證集,並“k-1”次充當訓練集的一部分。

這種技術能夠實現更穩健的模型評估,因為它最大限度地減少了過擬合或欠擬合的機會,同時還最大限度地利用資料來學習和評估跨各種子集的效能。

結論

資料分割是成功機器學習建模的必要先決條件。透過利用 K 折交叉驗證、分層分割或時間序列分割等高階技術以及 Python 中強大的庫(如 scikit-learn (sklearn)),研究人員可以有效地最佳化模型的效能。正確分割資料對於構建強大的機器學習模型至關重要。

更新於: 2023 年 7 月 28 日

709 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告