Як поводитися з SVM з категоричними атрибутами


18

У мене простір у 35 вимірів (атрибутів). Моя аналітична проблема - це проста класифікація.

З 35 вимірів понад 25 є категоричними, і кожен атрибут приймає більше 50+ типів значень.

У такому сценарії введення фіксованої змінної також не допоможе мені.

Як я можу запустити SVM на просторі, який має безліч категоричних атрибутів?

Відповіді:


22
  1. Якщо ви впевнені, що категоричний атрибут насправді порядковий, тоді просто розглядайте його як числовий атрибут.
  2. Якщо ні, використовуйте якийсь трюк кодування, щоб перетворити його на числовий атрибут. Згідно з пропозицією автора libsvm, можна просто використовувати кодування 1-з-К. Наприклад, припустимо, що атрибут 1-мірної категорії приймає значення з . Просто перетворіть його на тривимірні числа такі, що , , . Звичайно, це призведе до суттєвих додаткових вимірів у вашій проблемі, але я думаю, що це не є серйозною проблемою для сучасного вирішувача SVM (незалежно від лінійного типу чи типу ядра, який ви приймаєте).A = ( 1 , 0 , 0 ) B = ( 0 , 1 , 0 ) C = ( 0 , 0 , 1 ){А,Б,С}А=(1,0,0)Б=(0,1,0)С=(0,0,1)

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

Цікаво! "Рекурсивний розділ" звучить для мене (бінарне) дерево. Якась різниця між цими двома ідеями? Крім того, SVM вже в змозі розібратися з безперервною особливістю, чому ми повернемо його до бункерів (знову ж таки, категоричних даних)?
pengsun.thu

3
Чи не створюється фіктивних змінних k-1 достатньо для категоричної змінної рівня ak? наприклад A = (1,0,0), B = (0,1,0) тут, пропускаючи (0,0,1)?
Outlier

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