在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

詳細介紹數據均衡的方法以及運用的不同場景

新機器視覺 ? 來源:CSDN ? 作者:fanstuck ? 2022-07-20 09:44 ? 次閱讀

前 言

對于整個數據建模來看,數據均衡算法屬于數據預處理一環。當整個數據集從調出數據庫到拿到手的時候,對于分類數據集來說類別一般都是不均衡的,整個數據集合也是較為離散的。因此不可能一拿到數據集就可進行建模,類別的不均衡會極大影響建模判斷準確率。

其中,我們希望整個數據集合的類別數目都是相似的,這樣其特征數據權重能夠更好的計算出來,便于分類。對于預測模型也是如此。數據均衡是整個數學建模以及研究最重要不得不重視的一環,下面我將詳細介紹數據均衡的方法以及運用的不同場景。

一、為什么要做數據均衡?

首先在進行實驗之前我們要了解數據均衡的重要性,這是一件值得我們去投入眾多精力的事。一旦數據均衡做的不好將極大可能影響模型的準確性。數據預處理決定我們模型的上限,在一些重要的數學建模比賽或者是SCI論文中,數據均衡絕對是濃墨重彩的一環。我們可以這樣思考:

我們現在需要對一種疾病進行甄別,該病的發病概率為2%,而且很嚴重,100個人之間就可能會有2個人攜帶病毒。現在我們需要根據該病的特征數據構建能夠判斷患病的人。如果我們不進行數據均衡,倘若我們獲得了10000份人的檢測指標數據,其中有200人被標記為患病。那么我們立刻進行建模,因為患病人群數量極少,那么模型根據每一次特征權重計算反復迭代,獲取最優的結果。那該模型為何不直接把判斷人員數據歸為健康人群呢。這樣一來不管是判斷的人群是否有無此病都能夠得到98%的正確率甚至更高。那么我們的模型意義何在?

若是根據這個模型,再給10份數據其中有5份是患病者數據,那么此時建立的模型絲毫沒有用處,甚至造成嚴重的后果。所以說數據均衡是整個建模中很重要的一環。如果我們一開始就把這200份患病者的指標進行數據填充與健康數據均衡,那樣我們還能夠發現獲得該病之后的指標顯著特征,為后續醫生的判斷提供有力的支持。因此數據均衡是必不可少的一環,現在讓我們來了解根據數據集場景的不同我們該如何進行數據均衡。

二、數據場景

1.大數據分布不均衡

拿兩個我所遇到過的場景建模來說,第一個網絡用戶購買行為數據集來說,共擁有十三萬行的數據中僅3千條用戶購買行為數據,如圖所示。這樣大數據量的不均衡情況,即為大數據量不均衡。

e6eb5fd4-0767-11ed-ba43-dac502259ad0.png

2.小數據分布不均衡

大數據量的不均衡情況居多,但難免有一些指標很難測量的場景。就如醫學疾病檢測。

e6fe81b8-0767-11ed-ba43-dac502259ad0.png

如圖所示,該數據量小,僅有一萬數據量,患病人數僅只有百名。這樣的數據情況就為小數據分布不均衡。

這兩類數據不均衡情況都有適合它們的處理算法。

三、均衡算法類型

機器學習深度學習中兩者含義不同,但是思想方法類似。一個為數據中的采樣方法,一個為圖片的縮小和放大,這里重點解釋機器學習的采樣類型。

1.過采樣

過采樣也被稱為上采樣,這個方法更適用于小數據分布不均衡。如果是大數據分布不均衡,則將原來的小份類別不同的數據集擴充到與類別不同的數據集對等大小的情況。如第一個例子的數據,若進行過采樣,則將會有超過26萬的數據生成。與欠采樣相比計算權重比例以及運算時間都會大大增加。甚至可能造成過擬合現象。而小數據分布不均衡運用該方法還能避免數據量太少引起的欠擬合。

以下是過采樣效果圖,圖一為原始數據集。

e711601c-0767-11ed-ba43-dac502259ad0.png

2.欠采樣

欠采樣也被稱為下采樣,一般將將較大的類別數據進行縮減,直至和類型不同的小量數據集相對等。如我們將例子一的數據進行欠采樣,13w的用戶行為數據將縮減至6730條數據,進行建模的速度將會大大的加快。

以下是欠采樣算法效果圖:

poYBAGLXXkeAc5YsAADCrOfRUTk661.jpgpYYBAGLXXl-AFlQnAADBGnl_v4E362.jpg

3.組合采樣

不論是過采樣和欠采樣都會與原數據集存在一定的誤差,過采樣會導致很多樣本的數據特征與原樣本數據重疊導致難以分類清楚。而數據清洗技術恰好可以處理掉重疊樣本,所以可以將二者結合起來形成一個組合采樣,先過采樣再進行數據清洗。

poYBAGLXXnSAFdTbAADLG54eMDU706.jpgpoYBAGLXXoeASxlvAADKzrk22ec998.jpgpoYBAGLXXp2AaWzFAADVIV9JfpA363.jpg

四、算法具體種類

以Imbalancd sklearn庫收錄的算法來看,過采樣共有11種方法,欠采樣共有8種方法,組合采樣有2種方法。

e7e08cde-0767-11ed-ba43-dac502259ad0.png

下面我們將從過采樣-欠采樣-組合采樣大體三個類型的算法逐個了解其重算法種類的大致功能作用,以及使用場景:

1.欠采樣算法

(1)RandomUnderSampler

隨機欠采樣是十分快捷的方式,從多數類樣本中隨機選取一些剔除掉。但是隨著采樣方法的研究和發展隨機欠采樣已經很少使用。隨機欠采樣會損失大量的數據,可能被剔除的樣本可能包含著一些重要信息,導致后續建模模型質量并不是很好。

poYBAGLXYnyAP3rSAADEKl8avKY888.jpg

pYYBAGLXXseAboRRAADKQW3X1EQ994.jpg

(2)ClusterCentroids

通過使用K-Means聚類質心代替一個多數類的聚類,從而對多數類進行欠采樣。通過帶有N個聚類的KMeans算法擬合到多數類,并以N個聚類質心的坐標作為新的多數樣本,從而保留N個多數樣本。這和K-means方法原理是一樣的。

poYBAGLXYmqAC4d7AADc7Lzimk4843.jpg
poYBAGLXXvOAWpyaAADQgJRPpX8159.jpg

(3)CondensedNearestNeighbour

CondensedNearestNeighbour 使用1近鄰的方法來進行迭代, 來判斷一個樣本是應該保留還是剔除, 具體的實現步驟如下:

集合C: 所有的少數類樣本;

1 選擇一個多數類樣本(需要下采樣)加入集合C, 其他的2 這類樣本放入集合S;

3 使用集合S訓練一個1-NN的分類器, 對集合S中的樣本進行分類;

4 將集合S中錯分的樣本加入集合C;

5 重復上述過程, 直到沒有樣本再加入到集合C.

poYBAGLXXxyAFjLUAAEDKFqTnM0404.jpg

(4)EditedNearestNeighbours

(5)RepeatedEditedNearestNeighbours

EditedNearestNeighbours刪除其類別與其最近鄰之一不同的多數類別的樣本。這就是原理 RepeatedEditedNearestNeighbours。通過更改內部最近鄰算法的參數,在每次迭代中增加它,與AllKNN略有不同 。

poYBAGLXX0GAVYEnAAEc5_Furvs322.jpgpYYBAGLXX1OAHEvBAAEfo69xjMg099.jpg

(6)AllKNN

與RepeatedEditedNearestNeighbours不同的是,該算法內部的最近鄰算法的近鄰數在每次迭代中都會增加。

代碼在上面統一概括了,此三類算法類似,只不過都以EditedNearestNeighbours為基礎在此上進行優化:

poYBAGLXX2aAR9uHAAEOQx_nAeM183.jpg

(7)InstanceHardnessThreshold

InstanceHardnessThreshold使用分類器的預測來排除樣本。所有以低概率分類的樣本都將被刪除。

pYYBAGLXX5KAQJJkAAER0UHhUi8102.jpg

(8)NearMiss

NearMiss算法實施一些啟發式規則以選擇樣本。NearMiss-1 從多數類中選擇最近的少數類樣本的平均距離最小的樣本。NearMiss-2 從多數類中選擇與負類最遠樣本的平均距離最小的樣本。NearMiss-3 是一個兩步算法:首先,對于每個少數樣本, 將保留其最近鄰;然后,選擇的大多數樣本是與最近鄰居的平均距離最大的樣本。


pYYBAGLXX-SAIKM1AAD_ly7QWMg664.jpgpoYBAGLXX-uAJnHIAAD8cbOgrUU174.jpg

(9)NeighbourhoodCleaningRul

NeighbourhoodCleaningRule使用 EditedNearestNeighbours刪除一些樣本。此外,他們使用 3 個最近鄰刪除不符合此規則的樣本。

代碼已貼在CondensedNearestNeighbour那一欄:

pYYBAGLXX_GAaY07AAEzFuVUDew655.jpg

(10)OneSidedSelection

使用了 1-NN 并用于TomekLinks刪除被認為有噪聲的樣本。

代碼已貼在CondensedNearestNeighbour那一欄:

poYBAGLXX_mAQrQ3AAEUj01c-PI354.jpg

(11) TomekLinks

TomekLinks :樣本x與樣本y來自于不同的類別,滿足以下條件,它們之間被稱之為TomekLinks:不存在另外一個樣本z,使得d(x,z) < d(x.y)或者d(y,z) < d(x,y)成立.其中d(.)表示兩個樣本之間的距離,也就是說兩個樣本之間互為近鄰關系.這個時候,樣本x或樣本y很有可能是噪聲數據,或者兩個樣本在邊界的位置附近。

TomekL inks函數中的auto參數控制Tomek' s links中的哪些樣本被剔除.默認的ratio= 'auto'’ 移除多 數類的樣本,當ratio='ll'時,兩個樣本均被移除。

2.過采樣算法

在隨機過采樣的基礎上,通過樣本構造一方面降低了直接復制樣本代理的過擬合的風險,另一方法實現了樣本的均衡。比如樣本構造方法 SMOTE(Synthetic minority over-sampling technique)及其衍生算法。

(1)SMOTE

通過從少量樣本集合中篩選的樣本 和 及對應的隨機數 ,通過兩個樣本間的關系來構造新的樣本 。SMOTE算法的基本思想是對少數類樣本進行分析并根據少數類樣本人工合成新樣本添加到數據集中,具體如下圖所示,算法流程如下:

1 對于少數類中每一個樣本 ,以歐氏距離為標準計算它到少數類樣本集中所有樣本的距離,得到其 k 近鄰。

2 根據樣本不平衡比例設置一個采樣比例以確定采樣倍率N,對于每一個少數類樣本 ,從其k近鄰中隨機選擇若干個樣本,假設選擇的近鄰為 。

3 對于每一個隨機選出的近鄰 ,分別與原樣本 按照如下的公式構建新的樣本。

poYBAGLXYE6AGQAdAADMgfs8vAA621.jpg

偽代碼: pYYBAGLXYH2AU2geAAFoaHyDH3I430.jpgpYYBAGLXYISAC8IQAADElNMDvg4232.jpg

SMOTE會隨機選取少數類樣本用以合成新樣本,而不考慮周邊樣本的情況,這樣容易帶來兩個問題:

1 如果選取的少數類樣本周圍也都是少數類樣本,則新合成的樣本不會提供太多有用信息。這就像支持向量機中遠離margin的點對決策邊界影響不大。

2 如果選取的少數類樣本周圍都是多數類樣本,這類的樣本可能是噪音,則新合成的樣本會與周圍的多數類樣本產生大部分重疊,致使分類困難。

總的來說我們希望新合成的少數類樣本能處于兩個類別的邊界附近,這樣往往能提供足夠的信息用以分類。

poYBAGLXYJyAdAaeAACRTws6yh8541.jpg

(2)RandomOverSampler

從樣本少的類別中隨機抽樣,再將抽樣得來的樣本添加到數據集中。然而這種方法如今已經不大使用了,因為重復采樣往往會導致嚴重的過擬合,因而現在的主流過采樣方法是通過某種方式人工合成一些少數類樣本,從而達到類別平衡的目的。

poYBAGLXYOeAV1D6AADtbI_Eazw662.jpg

BorderlineSMOTE、KMeansSMOTE、SVMSMOTE

SMOTE通過識別在重采樣期間要考慮的特定樣本來提出幾種變體。邊界版本 ( BorderlineSMOTE) 將檢測在兩個類之間的邊界中選擇哪個點。SVM 版本 ( SVMSMOTE) 將使用使用 SVM 算法找到的支持向量來創建新樣本,而 KMeans 版本 ( KMeansSMOTE) 將在之前進行聚類,根據每個集群密度在每個集群中獨立生成樣本。


pYYBAGLXYSCADvs2AAGqMSHO_gs594.jpgpoYBAGLXYTyAGv6LAAGS91zxjmU591.jpgpoYBAGLXYVGAWScYAADYYU8Ob10332.jpg

在處理連續和分類特征的混合時, SMOTENC是唯一可以處理這種情況的方法。


但是,如果數據集僅由分類特征組成,則應使用SMOTEN.:

(4)ADASYN

不平衡學習的自適應綜合采樣方法,

ADASYN思想:基于根據少數類數據樣本的分布自適應地生成少數類數據樣本的思想:與那些更容易學習的少數類樣本相比,更難學習的少數類樣本會生成更多的合成數據。ADASYN方法不僅可以減少原始不平衡數據分布帶來的學習偏差,還可以自適應地將決策邊界轉移到難以學習的樣本上。

關鍵思想是使用密度分布作為標準來自動決定需要為每個少數類樣本生成的合成樣本的數量。從物理上來說,是根據不同少數族的學習難度來衡量他們的權重分布。ADASYN后得到的數據集不僅將提供數據分布的平衡表示(根據β系數定義的期望平衡水平),還將迫使學習算法關注那些難以學習的樣本。

pYYBAGLXYa-ABbRJAAD4k4QUBtc837.jpg

3.組合采樣

分別在Kinetic數據集和NTU-RGB+D數據集上進行實驗。

(1)SMOTETomek、SMOTEENN

SMOTE允許生成樣本。但是,這種過采樣方法對底層分布沒有任何了解。因此,可能會生成一些噪聲樣本,例如,當不同的類別不能很好地分離時。因此,應用欠采樣算法來清理噪聲樣本可能是有益的。文獻中通常使用兩種方法:(i)Tomek 的鏈接和(ii)編輯最近鄰清理方法。不平衡學習提供了兩個即用型采樣器SMOTETomek和 SMOTEENN.

pYYBAGLXYd2ACjTEAADMLrMS0wY995.jpgpYYBAGLXYeqAS1ZxAADDiHu3x7Q234.jpgpoYBAGLXYfGAeGcGAADX-tfW6hg080.jpg



審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4615

    瀏覽量

    93025
  • 過采樣
    +關注

    關注

    0

    文章

    21

    瀏覽量

    9596
  • 均衡算法
    +關注

    關注

    0

    文章

    13

    瀏覽量

    8926

原文標題:機器學習丨數據均衡算法種類大全+Python代碼一文詳解

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    EPS應急電源中均衡式充電裝置的設計

    簡要介紹均衡式充電裝置的結構原理及特點, 詳細闡述了應用于這種均衡充電模式的單元充電模塊的設計要求、工作原理及設計方法,最后給出了試驗
    發表于 11-10 10:40 ?3916次閱讀
    EPS應急電源中<b class='flag-5'>均衡</b>式充電裝置的設計

    80SJNB Advanced 均衡和串行數據分析方法

    3380SJNB Advanced 均衡和串行數據分析方法“本應用指南介紹了在有損耗或者耗散的信道上運行的串行數據標準使用的測試和測量
    發表于 11-26 10:44

    詳細介紹R329開發環境搭建的方法

    本教程詳細介紹了全志 R329 開發環境搭建的方法
    發表于 12-14 06:00

    ADC模塊剩余代碼的編寫以及模塊的運用方法

    剩余代碼的編寫以及模塊的運用方法。1、補全模塊C文件#include "reg52.h"#include "intrins.h"#define DELAY_TIME 5#define S...
    發表于 01-12 08:00

    DS1302模塊剩余代碼的編寫以及運用方法

    以下DS1302模塊剩余代碼的編寫以及模塊的運用方法。1、補全模塊C文件#include #include ***it SCK=P...
    發表于 01-12 08:26

    介紹EEPROM模塊剩余代碼的編寫以及模塊的運用方法

    以下EEPROM模塊剩余代碼的編寫以及模塊的運用方法。1、補全模塊C文件#include "reg52.h"#include "intrins.h"#define DELAY_TIME 5...
    發表于 02-18 06:58

    串聯鋰離子電池組的均衡詳細介紹

    串聯鋰離子電池組的均衡詳細介紹 作為為電動汽車提供動力的大功率鋰電池組,為了保證整個電池組的容量,對電池進行均衡管理是必要的。
    發表于 12-01 08:30 ?6229次閱讀

    多租戶環境下多機群網格數據負載均衡方法

    和網格數據表提出了矢量數據網格化負載均衡算法。根據數據的負載范圍,采用四叉樹網格化方法,將外包矩陣范圍進行矯正,獲取
    發表于 12-21 15:52 ?0次下載
    多租戶環境下多機群網格<b class='flag-5'>數據</b>負載<b class='flag-5'>均衡</b><b class='flag-5'>方法</b>

    詳細!使用 LVS 實現負載均衡原理及安裝配置詳解

    是學習 LVS 并對其進行了詳細的總結記錄。 一、負載均衡LVS基本介紹 LB集群的架構和原理很簡單,就是當用戶的請求過來時,會直接分發到Director Server上,然后它把用戶的請求根據設置好
    發表于 01-21 14:01 ?1226次閱讀

    均衡器數字代表什么_均衡器的調整方法詳解

    本文首先解答了均衡器數字代表的是什么,其次闡述了均衡器的調整方法,分別從平衡悅耳的聲音以及頻率的音感特征方面來詳細
    的頭像 發表于 05-24 14:21 ?5w次閱讀
    <b class='flag-5'>均衡</b>器數字代表什么_<b class='flag-5'>均衡</b>器的調整<b class='flag-5'>方法</b>詳解

    一文看懂電視聲音均衡器調節方法

    本文首先介紹了電視聲音均衡器調節方法,其次闡述了聲音均衡器調整方法,最后介紹了聲音
    的頭像 發表于 05-24 15:11 ?10.6w次閱讀

    藍牙耳機原理運用圖的詳細資料免費下載

    本文檔的主要內容詳細介紹的是藍牙耳機原理運用圖的詳細資料免費下載。
    發表于 10-26 08:00 ?125次下載
    藍牙耳機原理<b class='flag-5'>運用</b>圖的<b class='flag-5'>詳細</b>資料免費下載

    如何確定適合的負載均衡比例

    路由器的負載均衡是一種應用于網絡中的技術,它可以平衡網絡流量的分配,提高網絡的性能和穩定性。在配置路由器的負載均衡時,選擇合適的負載均衡比例非常重要。本文將詳細
    的頭像 發表于 12-15 10:36 ?1608次閱讀

    信道均衡有哪些實現方式?

    信道均衡的實現方式主要包括線性自動應均衡、盲均衡和半盲均衡等。這些方法各有特點,選擇哪種方法取決
    的頭像 發表于 03-02 14:05 ?1406次閱讀

    nginx負載均衡配置介紹

    代理 安裝Keepalived 配置Keepalived 編寫腳本監控Keepalived和nginx的狀態 配置keepalived加入監控腳本的配置 nginx負載均衡介紹 nginx應用場景之一
    的頭像 發表于 11-10 13:39 ?263次閱讀
    nginx負載<b class='flag-5'>均衡</b>配置<b class='flag-5'>介紹</b>
    主站蜘蛛池模板: 亚洲аv电影天堂网| 1314酒色网| 天天操免费视频| 天天干天天拍天天射| 国产免费人成在线看视频| 色噜噜噜| 欧美一级在线免费观看| 性开放网站| 日本在线视频精品| 男人的天堂色偷偷之色偷偷| 深爱五月激情网| 求毛片网站| 黄色毛片大全| 中国一级特黄高清免费的大片| 久久精品视频9| 国产精品欧美久久久久天天影视| 女人张开双腿让男人桶完整| 五月婷婷六月丁香综合| 成片一卡三卡四卡免费网站| 中文字幕一区在线观看| 国产高清免费在线观看| 日韩欧美理论| 成人性色生活影片| 天天做夜夜爽| 午夜手机福利| 国产精品夜夜春夜夜爽| 精品乱码一区二区三区四区| 视频在线观看高清免费看| 夜夜嗷| 久久免费看| 91久操| 性xxxxbbbb免费播放视频| 性色综合| 女人张开腿给人桶免费视频| 欧美成人综合在线| 大尺度免费高清在线观看视频 | 天天做天天操| 国产精品一区牛牛影视| 4hc44四虎www在线影院男同| 成人国产亚洲欧美成人综合网| 国产精品毛片天天看片|