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


19

Я працюю над сильно незбалансованими даними. У літературі використовується декілька методів, щоб збалансувати дані за допомогою повторного відбору вибірок (над- чи недостатня вибірка). Два хороших підходи:

  • SMOTE: Техніка надмірного відбору синтетичних меншин ( SMOTE )

  • ADASYN: Адаптивний синтетичний підбір проб для збалансованого навчання ( ADASYN )

Я реалізував ADASYN, оскільки його адаптивний характер і легкість поширюється на багатокласні проблеми.

Моє запитання полягає в тому, як протестувати зразки даних, отриманих за допомогою ADASYN (або будь-якими іншими методами перевибірки). Згаданих двох робіт незрозуміло, як вони виконували свої експерименти. Є два сценарії:

1- Проведіть вибірку всього набору даних, а потім розділіть їх на навчальні та тестові набори (або перехресну перевірку).

2- Після розбиття вихідного набору даних виконайте наддискретизацію лише на навчальному наборі та протестуйте на вихідному тестовому наборі даних (можна виконати з перехресною валідацією).

У першому випадку результати набагато кращі, ніж без перенапруження, але я стурбований, якщо є надмірне розміщення. У другому випадку результати дещо кращі, ніж без перебігу, і значно гірші, ніж у першому. Але питання, що стосується другого випадку, полягає в тому, що якщо всі зразки класів меншості пройдуть набір для тестування, то користь від перевибору не буде досягнута.

Я не впевнений, чи є якісь інші налаштування для перевірки таких даних.

Відповіді:


18

Кілька коментарів:

Варіант (1) - дуже погана ідея. Копії одного і того ж пункту можуть виявитися як у навчальних, так і в тестових наборах. Це дозволяє класифікатору обдурити, оскільки, намагаючись зробити прогнози на тестовому наборі, класифікатор вже побачив однакові точки у наборі поїздів. Вся суть тестового набору та поїзного комплексу полягає в тому, що тестовий комплект повинен бути незалежним від набору поїздів.

к


Дякую Стефану за відповідь. Але я хочу уточнити пункт: Способи, про які я згадував, створюють "синтетичні" екземпляри даних, не зовсім такі, як оригінальні. Тож це не зовсім так, як ніби я тестую ті ж дані про навчання. Але я все ще не впевнений, чи варіант 1 є правильним підходом.
Проїзд

Добре, я бачу! Проблема з (1) все ще існує, хоча навіть якщо ви створюєте "синтетичні" дані, оскільки синтетичні дані зазвичай дуже схожі на вихідні дані, які вони імітують.
Стефан Вагер

@StefanWager, як щодо розподілу тестового набору? Чи повинен він збігатися з оригінальним набором даних?
wannik

2
будь-яка посилання на статті, які підтверджують це твердження?
дівчина101

@ підхід @ stefan правильний, ви ніколи не збільшуєте та не синтезуєте свій набір перевірки, тому що це ваш доказ (тест) того, як ваша модель вчиться, для цього вам потрібні оригінальні дані
M090009

9

Другий (2) варіант - це правильний спосіб зробити це. Синтетичні зразки, які ви створюєте за допомогою методів пересимплінгу, - це не реальні приклади, а синтетичні. Вони не є дійсними для цілей тестування, поки вони все ще в порядку для тренувань. Вони призначені для зміни поведінки класифікатора без зміни алгоритму.

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