成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

終于把機器學習中的類別不平衡搞懂了!!

人工智能 機器學習
今天給大家分享機器學習中的一個關鍵概念,類別不平衡。類別不平衡指的是在分類問題中,不同類別的數據樣本數量相差懸殊的情況。

今天給大家分享機器學習中的一個關鍵概念,類別不平衡。

類別不平衡指的是在分類問題中,不同類別的數據樣本數量相差懸殊的情況。

在機器學習和深度學習的應用中,類別不平衡是一個常見的問題,尤其是在一些實際場景中,某些類別的數據相對較少,而其他類別的數據較多。例如,在醫療診斷中,患病的樣本可能遠遠少于健康的樣本,或者在欺詐檢測中,欺詐交易的數量通常少于正常交易。

類別不平衡的問題會導致分類器在訓練過程中傾向于預測數量較多的類別,而忽視數量較少的類別,進而影響分類結果的準確性和泛化能力。

類別不平衡的影響

  • 模型偏向多數類
    大多數機器學習算法(如邏輯回歸、決策樹、SVM等)往往會傾向于預測樣本數目較多的類別,因為這可以最小化整體的錯誤率。
    這樣,模型可能會忽略少數類的樣本,從而影響模型的泛化能力和對少數類的識別能力。
  • 評價指標失真
    在類別不平衡的數據集上,準確率(accuracy)通常不是一個有效的評估指標。即使模型完全忽略少數類,仍然可能獲得較高的準確率(因為多數類的預測正確率較高)。因此,需要使用其他評價指標(如精確率、召回率、F1值、ROC-AUC等)來全面評估模型性能。
  • 忽略少數類
    對于一些特定任務,少數類可能非常重要,例如在疾病診斷、欺詐檢測等場景中,少數類(如病人或欺詐交易)通常是更為關注的對象。忽略少數類會導致任務無法實現預期效果。

處理類別不平衡的常見方法

過采樣

過采樣是通過增加少數類樣本的數量,使得少數類和多數類的樣本數量達到平衡。

常用的過采樣方法有以下幾種:

隨機過采樣

通過簡單地復制少數類樣本,來增加少數類的數量。

優缺點

  • 優點:實現簡單,能快速增加少數類樣本。
  • 缺點:復制樣本可能導致過擬合,因為模型可能會多次看到相同的樣本,無法學到新知識。
from imblearn.over_sampling import RandomOverSampler
from sklearn.datasets import make_classification
from collections import Counter

# 創建一個不平衡的數據集
X, y = make_classification(n_samples=1000, n_features=20, n_classes=2, 
                           weights=[0.1, 0.9], random_state=42)

print(f"原始數據集的類別分布: {Counter(y)}")

# 使用隨機過采樣進行數據平衡
ros = RandomOverSampler(random_state=42)
X_resampled, y_resampled = ros.fit_resample(X, y)

print(f"過采樣后的類別分布: {Counter(y_resampled)}")

SMOTE

SMOTE 是最常用的過采樣技術,它通過在少數類樣本之間進行插值,生成新的合成樣本。

原理

SMOTE 通過在特征空間中選擇一個少數類樣本及其最近鄰樣本,然后在它們之間進行插值來創建新的樣本。

這些新合成的樣本是對現有樣本的一種變換,能夠增加少數類的多樣性。

  1. 隨機選擇一個少數類樣本。
  2. 尋找其 k 個最近鄰居。
  3. 通過在選定的實例和隨機選擇的鄰居之間進行插值來生成合成實例。

優缺點

  • 優點:通過合成樣本,增強了數據的多樣性,并且減少了過擬合的風險。
  • 缺點:生成的合成樣本可能不具有代表性,尤其在特征空間復雜時。
from imblearn.over_sampling import SMOTE
from sklearn.datasets import make_classification
from collections import Counter

# 創建一個不平衡的數據集
X, y = make_classification(n_samples=1000, n_features=20, n_classes=2, 
                           weights=[0.1, 0.9], random_state=42)

print(f"原始數據集的類別分布: {Counter(y)}")

# 使用 SMOTE 進行數據平衡
smote = SMOTE(random_state=42)
X_resampled, y_resampled = smote.fit_resample(X, y)

print(f"SMOTE過采樣后的類別分布: {Counter(y_resampled)}")

ADASYN

ADASYN 是對 SMOTE 的改進,旨在通過更多地生成那些分類器難以區分的少數類樣本來增強數據集。

它的基本思想是:在那些靠近決策邊界的少數類樣本生成更多的合成樣本,減少生成容易分類的樣本。

優點

比 SMOTE 更加關注決策邊界附近的難分類樣本,可以提升模型在這些區域的表現。

from imblearn.over_sampling import ADASYN
from sklearn.datasets import make_classification
from collections import Counter

# 創建一個不平衡的數據集
X, y = make_classification(n_samples=1000, n_features=20, n_classes=2, 
                           weights=[0.1, 0.9], random_state=42)

print(f"原始數據集的類別分布: {Counter(y)}")

# 使用 ADASYN 進行數據平衡
adasyn = ADASYN(random_state=42)
X_resampled, y_resampled = adasyn.fit_resample(X, y)

print(f"ADASYN過采樣后的類別分布: {Counter(y_resampled)}")

欠采樣

欠采樣是通過減少多數類樣本的數量,來平衡類別之間的樣本比例。

常見的欠采樣方法有:

隨機欠采樣

通過隨機刪除多數類樣本,來減少多數類樣本的數量。

優缺點

優點:能夠顯著減少訓練數據的規模,降低計算開銷。

缺點:丟失了大量的多數類信息,可能導致欠擬合,特別是在多數類樣本本身數量龐大的情況下。

from imblearn.under_sampling import RandomUnderSampler
from sklearn.datasets import make_classification
from collections import Counter

# 創建一個不平衡的數據集
X, y = make_classification(n_samples=1000, n_features=20, n_classes=2, 
                           weights=[0.1, 0.9], random_state=42)

print(f"原始數據集的類別分布: {Counter(y)}")

# 使用隨機欠采樣進行數據平衡
rus = RandomUnderSampler(random_state=42)
X_resampled, y_resampled = rus.fit_resample(X, y)

print(f"欠采樣后的類別分布: {Counter(y_resampled)}")

Tomek Links

Tomek Links 是一種欠采樣方法,通過識別邊界上的實例對(即少數類樣本和多數類樣本非常接近的樣本對),并刪除那些多數類樣本。這有助于清除數據集中的噪聲,并提升分類效果。

優缺點

  • 優點:有助于消除噪聲樣本,并清晰定義決策邊界。
  • 缺點:可能會刪除一些重要的多數類樣本,影響數據的完整性。
from imblearn.under_sampling import TomekLinks
from sklearn.datasets import make_classification
from collections import Counter

# 創建一個不平衡的數據集
X, y = make_classification(n_samples=1000, n_features=20, n_classes=2, 
                           weights=[0.1, 0.9], random_state=42)

print(f"原始數據集的類別分布: {Counter(y)}")

# 使用 Tomek Links 進行欠采樣
tomek = TomekLinks()
X_resampled, y_resampled = tomek.fit_resample(X, y)

print(f"Tomek Links處理后的類別分布: {Counter(y_resampled)}")


責任編輯:華軒 來源: 程序員學長
相關推薦

2024-08-23 09:06:35

機器學習混淆矩陣預測

2024-09-18 16:42:58

機器學習評估指標模型

2024-11-05 12:56:06

機器學習函數MSE

2024-10-14 14:02:17

機器學習評估指標人工智能

2024-10-08 15:09:17

2024-10-08 10:16:22

2024-10-28 00:00:10

機器學習模型程度

2024-10-28 15:52:38

機器學習特征工程數據集

2024-10-30 08:23:07

2025-01-20 09:21:00

2024-12-26 00:34:47

2025-01-15 11:25:35

2025-01-07 12:55:28

2024-11-25 08:20:35

2019-02-25 08:35:22

機器學習數據模型

2025-02-17 13:09:59

深度學習模型壓縮量化

2022-05-06 09:48:56

機器學習樣本不平衡

2017-03-28 09:40:23

機器學習數據不平衡

2020-09-21 09:02:56

AI機器學習類不平衡

2017-06-16 22:14:45

機器學習數據不平衡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久成人一区 | 欧美亚洲高清 | 国产日韩精品在线 | www.久草.com | 欧美日韩网站 | 国产精品毛片一区二区在线看 | 亚洲精品一区二区三区丝袜 | 色偷偷888欧美精品久久久 | 日本在线中文 | 国产精品美女久久久久aⅴ国产馆 | 99久久中文字幕三级久久日本 | 欧美精品成人影院 | 中文视频在线 | 国产激情在线 | 一区二区视频 | 国产精品成人69xxx免费视频 | 国产亚洲精品久久午夜玫瑰园 | 中文字幕高清视频 | 精品一区二区三区四区在线 | 国产1区 | 激情欧美日韩一区二区 | 亚洲精品视频免费 | 一级午夜aaa免费看三区 | 国产免费拔擦拔擦8x高清 | 亚洲精品久| 国产精品久久免费观看 | 国产精品成人一区二区三区 | 97av视频 | xx视频在线观看 | 中文字幕一区在线观看视频 | 最新中文字幕在线播放 | 午夜在线| 免费看91 | 久久青 | 日本欧美黄色片 | 日韩精品人成在线播放 | 91九色在线观看 | 亚洲国产成人精品一区二区 | 亚洲一区二区精品视频在线观看 | 毛片a级毛片免费播放100 | 国产视频一区在线 |