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

歡迎訪問 生活随笔!

生活随笔

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

python

三招提升数据不平衡模型的性能(附python代码)

發布時間:2024/8/23 python 74 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三招提升数据不平衡模型的性能(附python代码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要:?本文的主要目標是處理數據不平衡問題。文中描述了用來克服數據不平衡問題的三種技術,分別是集成交叉驗證、類別權重以及過大預測 。

? ? ? ?對于深度學習而言,數據集非常重要,但在實際項目中,或多或少會碰見數據不平衡問題。什么是數據不平衡呢?舉例來說,現在有一個任務是判斷西瓜是否成熟,這是一個二分類問題——西瓜是生的還是熟的,該任務的數據集由兩部分數據組成,成熟西瓜與生西瓜,假設生西瓜的樣本數量遠遠大于成熟西瓜樣本的數量,針對這樣的數據集訓練出來的算法“偏向”于識別新樣本為生西瓜,存心讓你買不到甜的西瓜以解夏天之苦,這就是一個數據不平衡問題。針對數據不平衡問題有相應的處理辦法,比如對多數樣本進行采樣使得其樣本數量級與少樣本數相近,或者是對少數樣本重復使用等。最近恰好在面試中遇到一個數據不平衡問題,這也是面試中經常會出現的問題之一,現向讀者分享此次解決問題的心得。


數據集

? ? ? ?訓練數據中有三個標簽,分別標記為[1、2、3],這意味著該問題是一個多分類問題。訓練數據集有17個特征以及38829個獨立數據點。而在測試數據中,有16個沒有標簽的特征和16641個數據點。該訓練數據集非常不平衡,大部分數據是1類(95%),而2類和3類分別有3.0%和0.87%的數據,如下圖所示。


算法

? ? ? ?經過初步觀察,決定采用隨機森林(RF)算法,因為它優于支持向量機、Xgboost以及LightGBM算法。在這個項目中選擇RF還有幾個原因:

  • 1機森林對過擬合具有很強的魯棒性;
  • 2.參數化仍然非常直觀;
  • 3.在這個項目中,有許多成功的用例將隨機森林算法用于高度不平衡的數據集;
  • 4.個人有先前的算法實施經驗;
    ? ? ? ?為了找到最佳參數,使用scikit-sklearn實現的GridSearchCV對指定的參數值執行網格搜索,更多細節可以在本人的Github上找到。

為了處理數據不平衡問題,使用了以下三種技術:

A.使用集成交叉驗證(CV):

? ? ? ?在這個項目中,使用交叉驗證來驗證模型的魯棒性。整個數據集被分成五個子集。在每個交叉驗證中,使用其中的四個子集用于訓練,剩余的子集用于驗證模型,此外模型還對測試數據進行了預測。在交叉驗證結束時,會得到五個測試預測概率。最后,對所有類別的概率取平均值。模型的訓練表現穩定,每個交叉驗證上具有穩定的召回率和f1分數。這項技術也幫助我在Kaggle比賽中取得了很好的成績(前1%)。以下部分代碼片段顯示了集成交叉驗證的實現:

for j, (train_idx, valid_idx) in enumerate(folds):X_train = X[train_idx]Y_train = y[train_idx]X_valid = X[valid_idx]Y_valid = y[valid_idx]clf.fit(X_train, Y_train)valid_pred = clf.predict(X_valid)recall = recall_score(Y_valid, valid_pred, average='macro')f1 = f1_score(Y_valid, valid_pred, average='macro')recall_scores[i][j] = recallf1_scores[i][j] = f1train_pred[valid_idx, i] = valid_predtest_pred[:, test_col] = clf.predict(T)test_col += 1## Probabilitiesvalid_proba = clf.predict_proba(X_valid)train_proba[valid_idx, :] = valid_probatest_proba += clf.predict_proba(T)test_proba /= self.n_splits

B.設置類別權重/重要性:

? ? ? ?代價敏感學習是使隨機森林更適合從非常不平衡的數據中學習的方法之一。隨機森林有傾向于偏向大多數類別。因此,對少數群體錯誤分類施加昂貴的懲罰可能是有作用的。由于這種技術可以改善模型性能,所以我給少數群體分配了很高的權重(即更高的錯誤分類成本)。然后將類別權重合并到隨機森林算法中。我根據類別1中數據集的數量與其它數據集的數量之間的比率來確定類別權重。例如,類別1和類別3數據集的數目之間的比率約為110,而類別1和類別2的比例約為26。現在我稍微對數量進行修改以改善模型的性能,以下代碼片段顯示了不同類權重的實現:

from sklearn.ensemble import RandomForestClassifier class_weight = dict({1:1.9, 2:35, 3:180})rdf = RandomForestClassifier(bootstrap=True,class_weight=class_weight, criterion='gini',max_depth=8, max_features='auto', max_leaf_nodes=None,min_impurity_decrease=0.0, min_impurity_split=None,min_samples_leaf=4, min_samples_split=10,min_weight_fraction_leaf=0.0, n_estimators=300,oob_score=False,random_state=random_state,verbose=0, warm_start=False)

C.過大預測標簽而不是過小預測(Over-Predict a Label than Under-Predict):

? ? ? ?這項技術是可選的,通過實踐發現,這種方法對提高少數類別的表現非常有效。簡而言之,如果將模型錯誤分類為類別3,則該技術能最大限度地懲罰該模型,對于類別2和類別1懲罰力度稍差一些。 為了實施該方法,我改變了每個類別的概率閾值,將類別3、類別2和類別1的概率設置為遞增順序(即,P3= 0.25,P2= 0.35,P1= 0.50),以便模型被迫過度預測類別。該算法的詳細實現可以在Github上找到。

最終結果

? ? ? ?以下結果表明,上述三種技術如何幫助改善模型性能:
1.使用集成交叉驗證的結果:



2.使用集成交叉驗證+類別權重的結果:



3.使用集成交叉驗證+類別權重+過大預測標簽的結果:


結論

? ? ? ?由于在實施過大預測技術方面的經驗很少,因此最初的時候處理起來非常棘手。但是,研究該問題有助于提升我解決問題的能力。對于每個任務而言,起初可能確實是陌生的,這個時候不要害怕,一次次嘗試就好。由于時間的限制(48小時),無法將精力分散于模型的微調以及特征工程,存在改進的地方還有很多,比如刪除不必要的功能并添加一些額外功能。此外,也嘗試過LightGBM和XgBoost算法,但在實踐過程中發現,隨機森林的效果優于這兩個算法。在后面的研究中,可以進一步嘗試一些其他算法,比如神經網絡、稀疏編碼等。

原文鏈接

本文為云棲社區原創內容,未經允許不得轉載。

總結

以上是生活随笔為你收集整理的三招提升数据不平衡模型的性能(附python代码)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日日夜精品 | 成人软件在线观看 | 欧美一级片a | 久久久亚洲精品无码 | 金瓶狂野欧美性猛交xxxx | 香蕉视频黄色在线观看 | 蜜臀av夜夜澡人人爽人人 | 91av视频网 | 国产亚洲精品久久久久久 | 黄色网址大全免费 | 99精品久久久 | 中文字av | 国产xxxxxxxxx | 九九精品热 | 天天操天天射天天爽 | 三级福利视频 | 国产精品制服诱惑 | 日韩在线视频你懂的 | 国产精品乱码一区二三区小蝌蚪 | 一区二区不卡视频在线观看 | 黑人av| h网站在线看 | 亚洲一区二区三区高清视频 | 九九综合久久 | 日本乱码视频 | 高潮又黄又刺激 | 欧美日韩色 | 色不卡| 成人av免费在线看 | 亚洲伊人精品 | 国产思思99re99在线观看 | 欧美视频色 | 亚洲av成人无码一区二区三区在线观看 | 日批黄色 | 91久久国产综合久久91 | 久久中文字幕在线 | 国产h在线观看 | 黑人超碰| 拔擦8x成人一区二区三区 | 日本韩国欧美一区 | 久草日韩 | 少妇太紧太爽又黄又硬又爽小说 | 欧美精品在线观看一区二区 | av影片在线| 亚洲射射射 | 久久久88| 无码av免费精品一区二区三区 | 国产色影院 | 少妇xxx | 操日本老太太 | 国产丝袜网站 | 无罩大乳的熟妇正在播放 | 久久波多野结衣 | 天天看片天天爽 | 亚洲av久久久噜噜噜熟女软件 | 国产精品17p | 日本捏奶吃奶的视频 | 91漂亮少妇露脸在线播放 | 久久久噜噜噜www成人 | 99视频在线看 | 美女调教视频 | 国产亚洲在线观看 | 国产精品一区二区视频 | 亚洲国产黄色 | 伊人黄色 | 日韩不卡视频一区二区 | 国产激情免费 | 影音先锋伦理片 | av一区二区三区 | 伦理av在线 | 日批视频| 女女综合网 | 手机av在线 | 国产一区二区在线电影 | 久久国产三级 | 欧美精品二区三区四区免费看视频 | 91福利在线观看视频 | 免费在线观看国产精品 | 成人区人妻精品一熟女 | 欧美日韩高清不卡 | wwwxxx日本| 成人拍拍视频 | 日本韩国欧美一区 | 亚洲成人精品一区二区三区 | 先锋影音av资源在线 | 操操操操操操操操操操 | 国产亚洲av片在线观看18女人 | 黄网站在线观 | 3d成人动漫在线观看 | 就去吻综合 | 在线免费观看国产视频 | 国内9l自拍 | 国产中文字幕在线播放 | 黄色免费小视频 | 91av不卡| 每日在线更新av | 成人导航网站 | 中文字幕乱码一二三区 | 午夜影院一区二区三区 |