深度學習數據集劃分比例多少合適

在這里插入圖片描述
在機器學習和深度學習中,測試集的劃分比例需要根據數據量、任務類型和領域需求靈活調整。


1. 常規劃分比例

通用場景
  • 訓練集 : 驗證集 : 測試集 = 60% : 20% : 20%
    適用于大多數中等規模數據集(如數萬到數十萬樣本),平衡了訓練數據量和評估的可靠性。
大數據場景
  • 訓練集 : 驗證集 : 測試集 = 98% : 1% : 1%
    當數據量極大時(如百萬級以上),測試集比例可大幅降低,因為少量樣本已足夠評估模型性能(例如 ImageNet 使用約 120 萬訓練圖像,5 萬驗證圖像)。
小數據場景
  • 訓練集 : 測試集 = 80% : 20%
    若數據量極小(如幾百到幾千樣本),可省略驗證集,直接劃分訓練集和測試集,并通過交叉驗證(如 K 折交叉驗證)調參。

2. 關鍵影響因素

數據量大小
  • 數據量越大,測試集比例可越低(如 5%-10%),因為絕對數量已足夠保證統計顯著性。
  • 數據量越小,測試集比例需更高(如 20%-30%),但可能犧牲訓練數據量,此時推薦交叉驗證。
任務復雜度
  • 簡單任務(如二分類):測試集比例可略低(10%-15%)。
  • 復雜任務(如目標檢測、NLP):測試集比例需更高(20%-30%),以覆蓋更多場景。
數據分布
  • 類別不均衡:需采用分層抽樣(Stratified Sampling),確保測試集的類別分布與原始數據一致。
  • 時間序列數據:按時間順序劃分(如訓練集用歷史數據,測試集用最新數據),而非隨機劃分。

3. 特殊場景與技巧

交叉驗證替代固定劃分
  • 小數據集:使用 K 折交叉驗證(如 5 折或 10 折),將訓練集分為 K 個子集,輪流作為驗證集,最大化數據利用率。
  • 示例
    from sklearn.model_selection import KFold
    kf = KFold(n_splits=5)
    for train_idx, val_idx in kf.split(X):X_train, X_val = X[train_idx], X[val_idx]# 訓練和驗證
    
領域特定需求
  • 醫學/金融數據:因數據獲取成本高,測試集可能僅占 10%-15%,但需確保樣本代表性。
  • 自動駕駛/工業檢測:測試集需覆蓋更多邊緣案例(如罕見場景),比例可能提高到 25%-30%。

4. 經驗總結

數據量規模推薦測試集比例典型劃分方式
極小(<1k 樣本)20%-30%訓練集 + 測試集 + 交叉驗證
小(1k-10k 樣本)15%-20%訓練集 (70%) + 驗證集 (10%) + 測試集 (20%)
中等(10k-1M 樣本)10%-15%訓練集 (80%) + 驗證集 (10%) + 測試集 (10%)
大(>1M 樣本)1%-5%訓練集 (98%) + 驗證集 (1%) + 測試集 (1%)

5. 注意事項

  1. 測試集的“不可見性”
    測試集僅用于最終評估,不可參與調參或模型選擇,否則會導致數據泄露,高估模型性能。
  2. 數據增強的影響
    若對訓練集進行數據增強,測試集需保持原始分布,避免增強操作干擾評估結果。
  3. 領域適配性
    在特定領域(如醫療、金融),測試集需包含與實際應用場景一致的樣本。

實際案例參考

  • MNIST 手寫數字分類(6萬訓練樣本 + 1萬測試樣本):測試集占 ~14%。
  • ImageNet 圖像分類(128萬訓練圖像 + 5萬驗證圖像):測試集占 ~3.7%。
  • Kaggle 比賽:通常提供固定測試集(如 50% 數據),剩余用于訓練和驗證。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/75553.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/75553.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/75553.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【TS學習】(15)分布式條件特性

在 TypeScript 中&#xff0c;分布式條件類型&#xff08;Distributive Conditional Types&#xff09; 是一種特殊的行為&#xff0c;發生在條件類型作用于裸類型參數&#xff08;Naked Type Parameter&#xff09; 時。這種特性使得條件類型可以“分布”到聯合類型的每個成員…

NSSCTF [HGAME 2023 week1]simple_shellcode

3488.[HGAME 2023 week1]simple_shellcode 手寫read函數shellcode和orw [HGAME 2023 week1]simple_shellcode (1) motalymotaly-VMware-Virtual-Platform:~/桌面$ file vuln vuln: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpret…

PostgreSQL的擴展(extensions)-常用的擴展-pg_dirtyread

PostgreSQL的擴展&#xff08;extensions&#xff09;-常用的擴展-pg_dirtyread pg_dirtyread 是 PostgreSQL 的一個特殊擴展&#xff0c;它允許讀取已被刪除但尚未被 VACUUM 清理的數據行&#xff0c;是數據恢復的重要工具。 原理&#xff1a; pg_dirtyread 通過直接訪問表的…

linux3 mkdir rmdir rm cp touch ls -d /*/

Linux 系統的初始目錄結構遵循 FHS&#xff08;Filesystem Hierarchy Standard&#xff0c;文件系統層次標準&#xff09;&#xff0c;定義了每個目錄的核心功能和存儲內容。以下是 Linux 系統初始安裝后的主要目錄及其作用&#xff1a; 1. 核心系統目錄 目錄用途典型內容示例…

Bazel中的Symbol, Rule, Macro, Target, Provider, Aspect 等概念

學習Bazel &#xff0c;就要學習Bazel 的規則定義&#xff0c; 弄清各個概念是重要的一個步驟。 在 Bazel 規則定義中&#xff0c;Symbol、Rule 和 Macro 是常見的概念。除此之外&#xff0c;Bazel 還有 Target、Provider、Aspect Repository、Package、 Workspace、 Configura…

深入探究 Hive 中的 MAP 類型:特點、創建與應用

摘要 在大數據處理領域,Hive 作為一個基于 Hadoop 的數據倉庫基礎設施,提供了方便的數據存儲和分析功能。Hive 中的 MAP 類型是一種強大的數據類型,它允許用戶以鍵值對的形式存儲和操作數據。本文將深入探討 Hive 中 MAP 類型的特點,詳細介紹如何創建含有 MAP 類型字段的表…

基于Java的區域化智慧養老系統(源碼+lw+部署文檔+講解),源碼可白嫖!

摘 要 時代在飛速進步&#xff0c;每個行業都在努力發展現在先進技術&#xff0c;通過這些先進的技術來提高自己的水平和優勢&#xff0c;區域化智慧養老系統當然不能排除在外。區域化智慧養老系統是在實際應用和軟件工程的開發原理之上&#xff0c;運用Java語言、JSP技術以及…

關于JVM和OS中的指令重排以及JIT優化

關于JVM和OS中的指令重排以及JIT優化 前言&#xff1a; 這東西應該很重要才對&#xff0c;可是大多數博客都是以訛傳訛&#xff0c;全是錯誤&#xff0c;尤其是JVM會對字節碼進行重排都出來了&#xff0c;明明自己測一測就出來的東西&#xff0c;寫出來誤人子弟… 研究了兩天&…

VS2022遠程調試Linux程序

一、 1、VS2022安裝參考 VS Studio2022安裝教程&#xff08;保姆級教程&#xff09;_visual studio 2022-CSDN博客 注意&#xff1a;勾選的時候&#xff0c;要勾選下方的選項&#xff0c;才能調試Linux環境下運行的程序&#xff01; 2、VS2022遠程調試Linux程序測試 原文參…

WPF設計學習記錄滴滴滴4

<Button x:Name"btn"Content"退出"Width" 100"Height"25"Click"btn_Click" IsDefault"True"/> <Button x:Name"btn" <!-- 控件標識&#xff1a;定義按鈕的實例名稱為"btn&…

JVM 有哪些垃圾回收器

垃圾收集算法 標記-復制算法(Copying): 將可用內存按容量劃分為兩個區域,每次只使用其中的一塊。當這一塊的內存用完了,就將還存活著的對象復制到另外一塊上面, 然后再把已使用過的內存空間一次清理掉。 標記-清除算法(Mark-Sweep): 算法分為“標記” 和“清除”兩個…

React DndKit 實現類似slack 類別、頻道拖動調整位置功能

一周調試終于實現了類 slack 類別、頻道拖動調整位置功能。 歷經四個版本迭代。 實現了類似slack 類別、頻道拖動調整功能 從vue->react &#xff1b;更喜歡React的生態及編程風格&#xff0c;新項目用React來重構了。 1.zustand全局狀態 2.DndKit 拖動 功能視頻&…

新浪財經股票每天10點自動爬取

老規矩還是先分好三步&#xff0c;獲取數據&#xff0c;解析數據&#xff0c;存儲數據 因為股票是實時的&#xff0c;所以要加個cookie值&#xff0c;最好分線程或者爬取數據時等待爬取&#xff0c;不然會封ip 廢話不多數&#xff0c;直接上代碼 import matplotlib import r…

使用Android 原生LocationManager獲取經緯度

一、常用方案 1、使用LocationManager GPS和網絡定位 缺點&#xff1a;個別設備,室內或者地下停車場獲取不到gps定位,故需要和網絡定位相結合使用 2、使用Google Play服務 這種方案需要Android手機中有安裝谷歌服務,然后導入谷歌的第三方庫&#xff1a; 例如&#xff1a;i…

驗證碼實現

驗證碼案例 學了Spring MVC &#xff0c;配置 相關章節&#xff0c; 現可以嘗試寫一個前后端交互的驗證碼 文章目錄 驗證碼案例前言一、驗證碼是什么&#xff1f;二、需求1.引入依賴2.導入前端頁面3.約定前后段交互接口 三、代碼解析Controllermodelapplication.xml 四丶結果五…

查詢當前用戶的購物車和清空購物車

業務需求&#xff1a; 在小程序用戶端購物車頁面能查到當前用戶的所有菜品或者套餐 代碼實現 controller層 GetMapping("/list")public Result<List<ShoppingCart>> list(){List<ShoppingCart> list shoppingCartService.shopShoppingCart();r…

(多看) CExercise_05_1函數_1.2計算base的exponent次冪

題目&#xff1a; 鍵盤錄入兩個整數&#xff1a;底(base)和冪指數(exponent)&#xff0c;計算base的exponent次冪&#xff0c;并打印輸出對應的結果。&#xff08;注意底和冪指數都可能是負數&#xff09; 提示&#xff1a;求冪運算時&#xff0c;基礎的思路就是先無腦把指數轉…

【nacos安裝指南】

Nacos安裝指南 1.Windows安裝 開發階段采用單機安裝即可。 1.1.下載安裝包 在Nacos的GitHub頁面&#xff0c;提供有下載鏈接&#xff0c;可以下載編譯好的Nacos服務端或者源代碼&#xff1a; GitHub主頁&#xff1a;https://github.com/alibaba/nacos GitHub的Release下載…

通過發音學英語單詞:從音到形的學習方法

&#x1f4cc; 通過發音學英語單詞&#xff1a;從音到形的學習方法 英語是一種 表音語言&#xff08;phonetic language&#xff09;&#xff0c;但不像拼音文字&#xff08;如漢語拼音、西班牙語等&#xff09;那么規則&#xff0c;而是 部分表音部分表意。這意味著我們可以通…