Короткий посібник з навчання сильно незбалансованих наборів даних


29

У мене є проблема класифікації приблизно 1000 позитивних та 10000 негативних зразків у навчальному наборі. Тож цей набір даних є досить незбалансованим. Простий випадковий ліс просто намагається позначити всі тестові зразки як мажоритарний клас.

Тут наведено кілька хороших відповідей щодо підбірки та зваженого випадкового лісу: Які наслідки для підготовки Деревного ансамблю із сильно упередженими наборами даних?

Які методи класифікації, крім РФ, можуть найкращим чином впоратися з проблемою?


Відповіді:


19
  • Макс Кун висвітлює цю свердловину в Ch16 прикладного моделювання прогнозування .
  • Як зазначається у пов'язаній нитці, незбалансовані дані є по суті вагомою проблемою навчання. Таким чином, будь-який підхід, що враховує витрати, застосовується до незбалансованих даних.
  • Існує велика кількість таких підходів. Не всі реалізовані в R: C50, зважені SVM - це варіанти. Jous-boost. Rusboost Я думаю, доступний лише як код Matlab.
  • Я не використовую Weka, але вважаю, що в ньому є велика кількість класифікаторів, що відрізняються економією витрат.
  • Поводження з незбалансованими наборами даних: Огляд : Сотіріс Коціантіс, Дімітріс Канеллопулос, Панайотис Пінтелас '
  • Про проблему дисбалансу класу : Сіньцзян Го, Ілонг Інь, Чайлінг Донг, Гонпінг Ян, Гуантонг Чжоу

16

У таких ситуаціях зазвичай недооцінка мажоритарного класу - це шлях.

Якщо ви вважаєте, що у вас є занадто мало примірників позитивного класу, ви можете виконати переутворення, наприклад, зразок 5n екземплярів із заміною з набору даних розміру n.

Застереження:

  • Деякі методи можуть бути чутливими до змін у розподілі класів, наприклад, для Naive Bayes - це впливає на попередні ймовірності.
  • Надмірне розміщення може призвести до надмірного розміщення

Чи, можливо, спробувати якийсь алгоритм кластеризації та використовувати центри кластерів?
Леела Прабху

Ви можете перевірити це посилання на наявність пересимплінгу та інших методів боротьби з незбалансованими наборами даних.
janpreet singh

11

Градієнтне підвищення також є хорошим вибором. Ви можете використовувати класифікатор підвищення градієнта в науковому наборі, наприклад. Підвищення градієнта - це принциповий метод подолання дисбалансу класів шляхом побудови послідовних навчальних наборів на основі неправильно класифікованих прикладів.


1
Я розумію, що збільшення градієнта страждає від тих же обмежень, що і РФ, коли йдеться про незбалансовані дані: sci2s.ugr.es/keel/pdf/algorithm/articulo/…
charles

1
Підвищення - це додатковий крок, який ви робите в будівництві лісу, який безпосередньо стосується дисбалансу. Папір, до якої ви посилаєтесь, відзначає це у вступі, що сприяє збільшенню, допомагає навіть у випадках, коли немає дисбалансу. І цей висновок у цьому документі підсилення значно допомагає. Тож не знаєте, де там показана еквівалентність між RF та прискоренням?
cwharland

1

На додаток до наведених тут відповідей, якщо кількість позитивних прикладів є занадто малою порівняно з негативними прикладами, це близьке до проблеми виявлення аномалії, де позитивними прикладами є аномалії.

У вас є цілий спектр методів виявлення аномалій, починаючи від використання багатоваріантного гауссового розподілу до моделювання всіх точок, а потім вибору тих, що на 2 або 3 ступеня від середнього.

Ще одна їжа для роздумів - я бачив досить багато людей, які випадковим чином вибирають негативні приклади з більшою кількістю прикладів, так що обидва класи однакові за кількістю. Це повністю залежить від наявної проблеми, хочемо ми їх збалансувати чи ні.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.