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


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.