日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

训练集 测试集 验证集_Python机器学习实战:划分训练集和检验集

發布時間:2025/3/19 python 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 训练集 测试集 验证集_Python机器学习实战:划分训练集和检验集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

機器學習實戰:這里沒有艱深晦澀的數學理論,我們將用簡單的案例和大量的示例代碼,向大家介紹機器學習的核心概念。我們的目標是教會大家用Python構建機器學習模型,解決現實世界的難題。

本文來自《數據黑客》,登錄官網可精彩資訊和文章。

數據黑客 - 專注金融大數據的內容聚合和數據聚合平臺?finquanthub.com

1. 訓練集和檢驗集

在應用機器學習算法前,一般將數據集劃分為訓練集(training set)和檢驗集(test set),訓練集用于擬合模型,檢驗集用于評估預測能力。

機器學習模型往往包含很多參數,如果不使用檢驗集而是直接評估樣本內的預測精度,會受到過度擬合的影響。所謂過度擬合,就是模型找到了本來不存在的規律,利用檢驗集來校驗模型能規避這一點。

sklearn實現:train_test_split(X, y, test_size, random_state)

  • X: 特征矩陣
  • y: 目標向量
  • test_size: 檢驗集大小(比例),通常選擇0.3,0.25,0.2等
  • random_state: Numpy RandomState對象或代表隨機數種子的整數,由于劃分是隨機的,為了重復實驗過程,應該使用統一的隨機數種子。

使用IRIS數據集。

import

# 先設置隨機數種子,目標是復現試驗結果

2. 訓練/檢驗的缺陷

將數據集劃分為訓練集和檢驗集存在一個缺陷,即評估結果的不一致性。劃分過程通常是隨機的,給定不同的訓練樣本和測試樣本(例如調整隨機數種子)會得到不同的預測評分,每一個的檢驗集的精度評估都是模型真實預測能力的有偏估計,不能作為絕對的評估指標。

# 通過控制隨機數種子,獲得不同的(train,test)組合,分別擬合模型并計算檢驗集的預測評分

3. 交叉驗證

為了克服訓練/檢驗劃分的缺陷,并得到模型預測能力更準確的評估,需要引入一個新的概念:K折交叉驗證。

什么是交叉驗證(cross-validation)?

給定樣本數據,劃分訓練集和檢驗集,在訓練集上訓練模型,在檢驗集上測試,然后不斷重復這個過程,得到多個預測評分,取預測評分的均值作為真實預測能力的無偏估計。

  • 將數據分為k個組,簡稱k折(k折交叉驗證),既可以按順序劃分,也可以隨機劃分。
  • 隨機抽取一折作為檢驗集,剩下的(k-1)折作為訓練集,在訓練集上擬合模型,在檢驗集上測試,記錄預測評分。
  • 將這種過程重復k次,每次迭代的訓練集和測試集要求不相同。
  • 計算預測評分的均值,作為模型真實預測能力的評估。
  • 3.1 用迭代器實現

    使用迭代器控制整個交叉驗證的過程,迭代器的主要功能是創建索引,即生成折數。

    sklearn.model_selection模塊提供了很多迭代器,例如KFold, StratifiedKFold, LeaveOneOut等。

    迭代器對象包含k個元素,每個元素都是長度為2的元組,元組的第一個元素包含訓練集的索引號,第二個元素包含檢驗集的索引號,利用這些索引號劃分訓練集和檢驗集。

    from

    用10折交叉驗證檢驗一個簡單的模型,使用iris數據集。

    from

    3.2 cross_val_score

    用sklearn.model_selection.cross_val_score實現自動化交叉驗證。

    cross_val_score()省略了交叉驗證的很多細節,如果提供了目標變量,在拆分樣本時每一折的目標變量的標簽所占的比例與y向量保持一致,即實現了分層抽樣。如果要使用方法1實現相同的結果,需要創建StratifiedKFold。

    from 數據黑客 - 專注金融大數據的內容聚合和數據聚合平臺?finquanthub.com

    數據黑客:專注金融大數據,聚合全網最好的資訊和教程,提供開源數據接口。

    我們聚合全網最優秀的資訊和教程:

  • 金融大數據
  • 機器學習/深度學習
  • 量化交易
  • 數據工程
  • 編程語言,Python,R,Julia,Scala,SQL
  • 我們提供開源數據接口:

  • 下載國內和國外海量金融數據
  • API接口,將數據整合到您的平臺
  • 總結

    以上是生活随笔為你收集整理的训练集 测试集 验证集_Python机器学习实战:划分训练集和检验集的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。