久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

        手機站
        千鋒教育

        千鋒學(xué)習站 | 隨時隨地免費學(xué)

        千鋒教育

        掃一掃進入千鋒手機站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習站小程序
        隨時隨地免費學(xué)習課程

        當前位置:首頁  >  技術(shù)干貨  > 大數(shù)據(jù)學(xué)習教程:如何處理多類不平衡數(shù)據(jù)?

        大數(shù)據(jù)學(xué)習教程:如何處理多類不平衡數(shù)據(jù)?

        來源:千鋒教育
        發(fā)布人:syq
        時間: 2022-07-04 17:32:00 1656927120

          機器學(xué)習中的一個常見問題是處理不平衡數(shù)據(jù),其中目標類中比例嚴重失調(diào),存在高度不成比例的數(shù)據(jù)。如何處理多類不平衡數(shù)據(jù)呢?什么是多類不平衡數(shù)據(jù)?什么是SMOTE算法?為什么使用類別權(quán)重(Class weight)......下面將進行詳細介紹。

        如何處理多類不平衡數(shù)據(jù)

          什么是多類不平衡數(shù)據(jù)?

          當分類問題的目標類(兩個或兩個以上)不均勻分布時,稱為不平衡數(shù)據(jù)。如果不能處理好這個問題,模型將會成為災(zāi)難,因為使用類不平衡數(shù)據(jù)建模會偏向于大多數(shù)類。處理不平衡數(shù)據(jù)有不同的方法,最常見的是過采樣(Oversampling)和創(chuàng)建合成樣本。

          什么是SMOTE算法?

          SMOTE是一種從數(shù)據(jù)集生成合成算例的過采樣技術(shù),它提高了對少數(shù)類的預(yù)測能力。雖然沒有信息損失,但它有一些限制。

          合成樣本

          限制:

          · SMOTE不適用于高維數(shù)據(jù)。

          · 可能會發(fā)生類的重疊,并給數(shù)據(jù)帶來更多干擾。

          因此,為了跳過這個問題,可以使用'class_weight '參數(shù)手動為類分配權(quán)重。

          為什么使用類別權(quán)重(Class weight)?

          類別權(quán)重通過對具有不同權(quán)重的類進行懲罰來直接修改損失函數(shù),有目的地增加少數(shù)階級的權(quán)力,減少多數(shù)階級的權(quán)力。因此,它比SMOTE效果更好。本文將介紹一些最受歡迎的獲得數(shù)據(jù)的權(quán)重的技術(shù),它們對不平衡學(xué)習問題十分奏效。

          · Sklearn utils

          可以使用sklearn來獲得和計算類權(quán)重。在訓(xùn)練模型的同時將這些權(quán)重加入到少數(shù)類別中,可以提高類別的分類性能。

          from sklearn.utils import class_weightclass_weight =class_weight.compute_class_weight('balanced,np.unique(target_Y),target_Y)model = LogisticRegression(class_weight = class_weight)model.fit(X,target_Y)# ['balanced', 'calculated balanced', 'normalized'] arehyperpaameterswhic we can play with.

          對于幾乎所有的分類算法,從邏輯回歸到Catboost,都有一個class_weight參數(shù)。但是XGboost對二進制分類使用scale_pos_weight,對二進制和多類問題使用樣本權(quán)重。

          · 數(shù)長比

          非常簡單明了,用行數(shù)除以每個類的計數(shù)數(shù),然后

          weights = df[target_Y].value_counts()/len(df)model = LGBMClassifier(class_weight = weights)model.fit(X,target_Y)

          · 平和權(quán)重技術(shù)(Smoothen Weights)

          這是選擇權(quán)重的最佳方法之一。labels_dict是包含每個類的計數(shù)的字典對象,對數(shù)函數(shù)對不平衡類的權(quán)重進行平和處理。

          def class_weight(labels_dict,mu=0.15): total = np.sum(labels_dict.values()) keys = labels_dict.keys() weight = dict()for i in keys: score =np.log(mu*total/float(labels_dict[i])) weight[i] = score if score > 1else 1return weight# random labels_dictlabels_dict = df[target_Y].value_counts().to_dict()weights =class_weight(labels_dict)model = RandomForestClassifier(class_weight = weights)model.fit(X,target_Y)

          · 樣本權(quán)重策略

          下面的函數(shù)不同于用于為XGboost算法獲取樣本權(quán)重的class_weight參數(shù)。它為每個訓(xùn)練樣本返回不同的權(quán)重。樣本權(quán)重是一個與數(shù)據(jù)長度相同的數(shù)組,包含應(yīng)用于每個樣本的模型損失的權(quán)重。

          def BalancedSampleWeights(y_train,class_weight_coef): classes = np.unique(y_train, axis =0)classes.sort()class_samples = np.bincount(y_train)total_samples = class_samples.sum()n_classes = len(class_samples) weights = total_samples / (n_classes* class_samples * 1.0)class_weight_dict = {key : value for (key, value) in zip(classes, weights)}class_weight_dict[classes[1]] = class_weight_dict[classes[1]] *class_weight_coefsample_weights = [class_weight_dict[i] for i in y_train] return sample_weights#Usageweight=BalancedSampleWeights(target_Y,class_weight_coef)model = XGBClassifier(sample_weight = weight)model.fit(X, target_Y)

          · 類權(quán)重與樣本權(quán)重:

          樣本權(quán)重用于為每個訓(xùn)練樣本提供權(quán)重,這意味著應(yīng)該傳遞一個一維數(shù)組,其元素數(shù)量與訓(xùn)練樣本完全相同。類權(quán)重用于為每個目標類提供權(quán)重,這意味著應(yīng)該為要分類的每個類傳遞一個權(quán)重。

          更多關(guān)于大數(shù)據(jù)培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗,采用全程面授高品質(zhì)、高體驗培養(yǎng)模式,擁有國內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實現(xiàn)高薪夢想。

        tags:
        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
        請您保持通訊暢通,專屬學(xué)習老師24小時內(nèi)將與您1V1溝通
        免費領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        什么是PlatformIo?

        PlatformIO是什么PlatformIO是一個全面的物聯(lián)網(wǎng)開發(fā)平臺,它為眾多硬件平臺和開發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡化了開發(fā)過程,并能兼容各種...詳情>>

        2023-10-14 12:55:06
        云快照與自動備份有什么區(qū)別?

        1、定義和目標不同云快照的主要目標是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時間點后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動備份的主要目標...詳情>>

        2023-10-14 12:48:59
        服務(wù)器為什么要用Linux?

        服務(wù)器為什么要用Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,有其獨特的優(yōu)勢和特點。包括其...詳情>>

        2023-10-14 12:34:11
        ORM解決的主要問題是什么?

        ORM(對象關(guān)系映射)解決的主要問題是將關(guān)系數(shù)據(jù)庫與面向?qū)ο缶幊讨g的映射困境。在傳統(tǒng)的關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)以表格的形式存儲,而在面向?qū)ο?..詳情>>

        2023-10-14 12:26:19
        Go為什么不支持三元運算符?

        Go為什么不支持三元運算符Go語言是一種以簡潔和有效性為目標的編程語言,因此在設(shè)計過程中,Go的設(shè)計者刻意排除了一些他們認為可能導(dǎo)致復(fù)雜性或...詳情>>

        2023-10-14 12:12:36
        巴彦淖尔市| 富裕县| 马尔康县| 东乡县| 万年县| 蕲春县| 唐山市| 多伦县| 迁安市| 潼南县| 仪陇县| 万安县| 淅川县| 马尔康县| 辽阳市| 仁布县| 林州市| 资源县| 新龙县| 河北省| 宣城市| 清新县| 邹城市| 芜湖县| 灯塔市| 韩城市| 元谋县| 苍溪县| 昭平县| 松阳县| 桃源县| 镇宁| 康平县| 陆丰市| 永顺县| 班玛县| 塘沽区| 聂拉木县| 新郑市| 察隅县| 广平县|