Imbalanced Data

Оновлено: 31.07.2023

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

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

Існує кілька питань, де поділ на класи є не просто частим, але й очікуваним. Наприклад, набори даних, які характеризують шахрайські операції, є незбалансованими. Переважна більшість транзакцій потрапляє в категорію "Не шахрайство", і лише невеликий відсоток потрапляє в категорію "Шахрайство".

Іншим прикладом є дані про відтік клієнтів, коли переважна більшість клієнтів продовжує користуватися послугою, але невелика частина відмовляється від неї.

Як боротися з дисбалансом даних?

Коли ви працюєте з незбалансованим набором даних, точність - не найкраща статистика для використання. Ми бачили, наскільки вона оманлива.

При роботі з нерівними класами були розроблені певні заходи, які допоможуть вам говорити правду.

Вам слід звернути увагу на наступні показники ефективності, які можуть надати більше інформації про точність моделі, ніж звичайна точність класифікації: Пригадування, Точність, Оцінка F1 та Матриця плутанини.

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

Чи можете ви отримати додаткову інформацію? Подумайте, чи можете ви отримати додаткову інформацію про вашу ситуацію.

Більший набір даних може показати інший, більш збалансований погляд на класи.

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

У кожному конкретному завданні ви повинні, принаймні, вибірково перевіряти низку різних методів.

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

Незбалансовані набори даних мають свої галузі досліджень. У них свій набір алгоритмів, метрик і жаргону.

Розглядаючи і обмірковуючи свій виклик під різними кутами, ви можете втратити певні ідеї. Виявлення аномалій і виявлення змін - це два варіанти, які варто розглянути.

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

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

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

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

Щоб створювати точні та надійні моделі з незбалансованих наборів даних, вам не потрібно бути генієм алгоритмів або вченим.

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