Для проблеми класифікації, якщо змінна класу має неоднакове розподіл, яку техніку ми повинні використовувати?


10

напр. якщо у мене є оцінка кредитної змінної з двома класами - хороший і поганий, де # (хороший) = 700 і # (погано) = 300. Я не хочу скорочувати свої дані. яку техніку я повинен використовувати? Я використовував SVM, але він дає все погане як хороше в прогнозах.


Ця асиметрія виглядає не так вже й погано; ти впевнений, що не маєш помилки десь ще? Ви також можете дати детальну інформацію про дані? Загального рішення для цього немає.

мій набір даних має 17 предикторів (3 безперервних та 14 категоричних), очевидно, змінна 1 клас та загальна кількість 1000 спостережень. Відстань по частоті. для класу var. з поїздом і тестом - поїзд (поганий) = 197, тест (поганий) = 103, трикутник (хороший) = 446, тест (хороший) = 254
asad.taj

Відповіді:


6

Розміри вибірки вашого класу не здаються настільки незбалансованими, оскільки у вас є 30% спостережень у вашому класі меншості. Логістичний регрес повинен бути добре виконаним у вашому випадку. Залежно від кількості предикторів, які входять до вашої моделі, ви можете розглянути певну пеналізацію для оцінки параметрів, наприклад, гребінь (L2) або ласо (L1). Для огляду проблем з дуже незбалансованим класом див. Cramer (1999), The Statistician, 48: 85-94 ( PDF ).

Я не знайомий з методами підрахунку кредитних рахунків, але я знайшов деякі документи, які дозволяють використовувати SVM з зваженими класами, наприклад, Підтримка векторних машин для підрахунку кредитів: Розширення на нестандартні випадки . В якості альтернативи ви можете розглянути методи підсилення за допомогою CART або Random Forests (в останньому випадку можна адаптувати стратегію вибірки таким чином, щоб кожен клас був представлений при побудові дерев класифікації). У статті Новака та LaDue обговорюються плюси і мінуси GLM проти рекурсивного розподілу . Я також знайшов цю статтю, конструкція показників з незбалансованими розмірами класів від Hand і Vinciotti.


Посилання на Cramer (1999) змінилось на paper.tinbergen.nl/98085.pdf
germcd

10

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

Однак у вашому випадку незбалансованість класів не здається проблемою. Можливо, це питання налаштування параметрів, оскільки пошук оптимальних параметрів для класифікатора SVM може бути досить втомливим процесом. Наприклад, в ядрі RBF є два параметри:С і γ. Заздалегідь невідомо, якийС і γнайкращі для даної проблеми; отже, слід зробити якийсь вибір моделі (пошук параметрів).

На етапі попередньої обробки даних пам’ятайте, що SVM вимагає, щоб кожен екземпляр даних був представлений як вектор реальних чисел. Отже, якщо є категоричні атрибути, рекомендується перетворювати їх у числові дані, використовуючи m числа для представлення атрибуту m-категорії (або замінюючи його новими m бінарними змінними).

Також масштабування змінних перед застосуванням SVM має вирішальне значення, щоб уникнути атрибутів у більших числових діапазонах, що домінують над меншими діапазонами чисел.

Ознайомтеся з цим документом .

Якщо ви працюєте в R, перевірте функцію настройки (пакет e1071), щоб настроїти гіперпараметри за допомогою пошуку в сітці за наданими діапазонами параметрів. Потім, використовуючи plot.tune , ви зможете візуально побачити, який набір значень дає менший показник помилок.

Існує ярлик навколо пошуку трудомістких параметрів. Існує пакет R під назвою "svmpath", який обчислює весь шлях регуляризації для 2-класового класифікатора SVM за один раз. Ось посилання на документ, що описує, що він робить.

PS Ви також можете вважати цей документ цікавим: Отримання каліброваних оцінок ймовірностей


2
+1; як і раніше ksvm від kernlab є кращою реалізацією R SVM. Наприклад, він масштабує змінні самостійно і має приємну (= дуже добре працює) евристичну процедуру вибору товаруγдля RBF.

1

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

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

Не вибирайте лише C + та C-, щоб надати 50-50 зважування позитивним та негативним зразкам, оскільки стійкість ефекту проблеми "класів дисбалансів" буде відрізнятися від набору даних до набору даних, тому міцність оптимальної -ваготу не можна визначити апріорі.

Також пам’ятайте, що помилково-позитивні та хибнонегативні витрати можуть бути різними, і проблема може вирішитись сама, якщо вони включені у визначення C + та C-.

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

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