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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【机器学习基础】kaggle竞赛中数据抽样方式

發布時間:2025/3/12 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【机器学习基础】kaggle竞赛中数据抽样方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么情況下需要會用到抽樣

  • 數據量太大,計算能力不足。

  • 抽樣調查,小部分數據即可反應全局情況。

  • 時效要求,通過抽樣快速實現概念驗證。

  • 定性分析的工作需要。

  • 無法實現全覆蓋的場景,比如滿意度調查等。


  • 解決樣本不均衡問題

    隨機抽樣(用的最多)

    該抽樣方法是按等概率原則直接從總中抽取n個樣本,這種隨機樣本方法簡單,易于操作;但是它并不能保證樣本能完美的代表總體,這種抽樣的基本前提是所有樣本個體都是等概率分布,但真實情況卻是很多數樣本都不是或無法判斷是否等概率分布。在簡單隨機抽樣中,得到的結果是不重復的樣本集,還可以使用有放回的簡單隨機抽樣,這樣得到的樣本集中會存在重復數據。該方法適用于個體分布均勻的場景。

    使用Pandas進行數據隨機

    DataFrame.sample(n=None,?frac=None,?replace=False,?weights=None,?random_state=None,?axis=None)

    參數說明:

    • n:需要抽樣的數量

    • frac:需要抽樣的比例,0-1之前的小數。n和frac只能傳一個

    • replace:是否允許同一行被抽到多次,默認為False

    • weights:默認為等概率加權

    • random_state:隨機數發生器種子

    • axis:取值為0時,抽取行。取值為1時,抽取列。

    等距抽樣

    等距抽樣是先將總體的每個個體按順序編號,然后再計算出抽樣間隔,再按照固定抽樣間隔抽取個體。這種操作方法易于理解、簡便易行,但當總體樣本的分布呈現明顯的分布規律時容易產生偏差,例如增減趨勢、周期性規律等。該方法適用于個體分布均勻或呈現明顯的均勻分布規律,無明顯趨勢或周期性規律的數據。

    比如當需要對用戶訪問頁面進行分析時,由于一個用戶存在多個瀏覽記錄,如果采用隨機抽樣可能會導致抽取到的用戶訪問頁面不全的信息。改進方案為按照會員維度等距進行抽樣。比如按會員號尾號進行抽樣。

    分層抽樣

    分層抽樣是先將所有個體樣本按照某種特征劃分為幾個類別,然后從每個類別中使用隨機抽樣或等距抽樣的方法選擇個體組成樣本。這種操作方法能明顯的降低抽樣誤差,并且便于針對不同類別的數據樣本進行單獨研究,因此是一種較好的實現方法。該方法適用于帶有分類邏輯的屬性、標簽等特征的數據。

    通過分層抽樣解決樣本不均衡的問題:

    • 過抽樣:增加分類中少數類樣本的數量,最簡單的方法就是復制少數類樣本形成多條記錄。改進的過抽樣方法是在少數類中加入隨機噪聲、干擾數據或通過一定規則產生新的合成樣本。例如SMOTE算法。過抽樣方法應用極廣泛。

    • 欠抽樣:減少分類中多數類樣本的數量,最簡單的方法就是隨機去掉一些多數樣本。

    • 通過正負樣本的懲罰權重來解決不均衡:對于分類中不同樣本數量的類別分別賦予不同權重(一般小樣本量類別權重大,大樣本量類別權重小),然后進行計算和建模,例SVM。

    機器學習需要多大的數據量

    很多機器學習研究者普遍存在的問題:“我的項目需要多少訓練數據?”這個問題經常讓不少開發者非常苦惱。實際上,這個問題回答起來比看上去要復雜的多,因為其中要涉及到很多因素,比如你使用的模型類型,模型在實際業務中的用途等等。

    為何很難預估你的數據集大小?

    確定目標數據量的許多困難源于訓練過程的目標。有很多文章都講到了模型訓練過程的工作原理,但要記住,我們訓練的目的是構建一個能理解數據背后模式和關系的模型,而不僅僅是理解數據本身。收集數據時,我們需要確保所擁有的數據數量能教會算法數據中的關系,以及數據和結果之間的關系。

    這看起來很容易預測。但實際上機器學習項目的目標多種多樣,可以產生大量的訓練數據類型。因此,每個項目都有各自獨特的多種因素,這使得提前計算數據需求變得非常困難,可能包括以下部分或全部內容:

  • 模型的復雜度:模型為完成任務而必須考慮的每個參數都會增加訓練所需的數據量。例如,用于識別特定汽車品牌的模型具有少量的參數,主要與車輛的形狀相關。而如果是一個必須從長遠考慮汽車成本的模型,不僅要顧及到包括汽車品牌和狀況的因素,還有經濟和社會因素。由于這種復雜程度更高,第二個模型需要比第一個模型更多的數據。

  • 訓練方法:由于模型必須理解更多的互連參數,由此導致的復雜性使得訓練模型的方式也被迫發生改變。傳統的機器學習算法使用結構化學習,這意味著它們很快就會出現附加數據投入產出比很低的情況。相反,深度學習模型可以找出自己的參數,并學習如何在沒有結構的情況下進行改進。這意味著它們不僅需要更多的數據,而且還有更長的學習曲線,其中進一步增加數據具有積極的影響。因此,你使用的訓練方法會導致對你的模型有用的訓練數據量發生顯著變化。

  • 標簽需求:根據實際任務,我們會以不同方式注釋數據點。這可能會導致數據生成的標簽數量,以及創建這些標簽所需的工作量發生明顯變化。例如,如果我們有1000個輸入數據句子用于情感分析,我們可能只需要將它們標記為正面情感或負面情感,因此每個句子產生一個標簽。但是,如果對同樣1000個句子進行注釋用于實體提取,則可能需要為每個句子標記5個單詞。盡管具有相同的原始輸入數據,但是一個任務產生的標簽比另一個任務多五倍。因此,我們準備數據的方式可能會影響項目所需的工作量和花費的成本。

  • 誤差容忍度:模型在你的實際業務中的預期作用也會影響數據量。對于預測天氣的模型,20%的誤差率是可接受的,但如果用于檢測有心臟病發作風險的患者,這個誤差率萬萬不可。在邊界案例方面的改進可以降低這種風險。如果你的算法具有高度風險規避或者對于項目能否成功至關重要,那么你需要的數據量會大幅增加,才能追求完美性能。

  • 輸入的多樣性:我們生活在一個復雜的世界中,可以向模型輸入各種類型的輸入數據。例如,聊天機器人必須能夠理解各種語言,哪怕它們是用一系列正式,非正式甚至語法不正確的風格寫就的。如果無法高度控制模型的輸入,就需要更多數據來幫助你的模型在不可預測的環境中運行。從上面這些因素可以清楚地看到,我們需要的數據量取決于項目的獨特需求和預期目標。最后,項目負責人必須自己平衡這些因素,并提出自己的目標。那么有沒有什么方法呢?

  • 有,接下來就看看有哪些方法可以幫我們在剛開始時確定所需的數據量。

    我們該如何計算數據需求

    確定任何給定算法所需的確切數據數量可能無法做到。幸好,基于整體預估的方法能幫你分析項目的訓練數據需求量,以下兩種方法均可:

    • 10 倍法則:一個常見的經驗法則是模型通常需要超出其自由度 10 倍的數據量。這里的自由度可以是影響模型輸出的參數,是數據點的一個屬性,或者更簡單地說,是數據集中的列。10 倍法則的目標就是是抵消這些組合參數為模型輸入帶來的變化。對于復雜模型而言,這可能沒有幫助。但是,這條法則能讓我們快速估算數據集的數量,保證項目保持運行。

    • 學習曲線:如果你已經有一些數據并希望根據更多事實情況做出決策,可以考慮創建一個研究示例,根據數據集的大小來評估模型的能力。通過把結果繪制在圖表上,你應該能夠找出數據集大小與模型能力之間的關系,同時還要確定什么時候添加更多數據的收益會不斷遞減。這種方法需要更多人力工作,包括創建一些邏輯回歸問題,但至少比簡單一猜要靠譜得多。

    • 通常,最好在剛開始時用手頭已有的數據訓練模型,在你認為有必要時再添加更多數據。一旦項目取得一些結果,你對數據的需求會越來越明顯。不過,有些朋友還是希望能在項目開水前有個確切的數字,下面是我們在網上找到的項目數據集大小的一些估計。也許這些例子能讓你對自己項目所需的數據集大小心里有個數。

    數量 VS 質量

    數據的局限性也會是模型的局限性。但是,在所有關于你需要多少數據的討論中,不要忘記這條也適用于數據質量和數量。對于模型來說,一百萬個混亂的數據反而不如 100 個干凈數據,后者實際上更有助于算法達成目標。無論你正在搭建什么樣的模型,都要確保正在使用的數據能為你提供堅實的基礎和最佳的成功機會。

    看了上面的介紹,感覺還是云里霧里的,個人整理的大致方案:(沒有什么理論支撐)

    • 大于 (數值型特征數量+每個類別型特征的類別數) * 10

    • 小于 100萬

    個人處理時,也沒有考慮那么多內容,通常取100萬數據進行作為訓練集。

    往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯 獲取本站知識星球優惠券,復制鏈接直接打開: https://t.zsxq.com/qFiUFMV 本站qq群704220115。加入微信群請掃碼:

    總結

    以上是生活随笔為你收集整理的【机器学习基础】kaggle竞赛中数据抽样方式的全部內容,希望文章能夠幫你解決所遇到的問題。

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