Змінне значення від SVM


32

Як отримати значення змінної (атрибуту) за допомогою SVM?

Відповіді:


19

Якщо ви використовуєте штраф-1 на ваговому векторі, він робить автоматичний вибір функції, оскільки ваги, що відповідають невідповідним атрибутам, автоматично встановлюються на нуль. Дивіться цей документ . (Абсолютна) величина кожної ненульової ваги може дати уявлення про важливість відповідного атрибута.

Також розгляньте цей документ, який використовує критерії, отримані від SVM для керування вибором атрибутів.


1
Чи реалізовано будь-який з цих альго в R або іншому програмному забезпеченні?
Джордж Донтас

5
Так, погляньте на пакунок R penalizedSVM. Інші пакети інтерес: штрафували, elasticnet, PPL , Ларса, або в більш загальному плані : cran.r-project.org/web/views/MachineLearning.html
хл

7

Ізабель Гіон, Андре Еліссефф, "Вступ до вибору змінних та особливостей", JMLR, 3 (березень): 1157-1182, 2003. http://jmlr.csail.mit.edu/papers/v3/guyon03a.html

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


2
Я навіть рекомендував би всю книгу від І. Гайона та колег, j.mp/anblwx . Книга ESL від Hastie et al., J.mp/bW3Hr4 , також пропонує цікаві дискусії навколо цієї «гарячої» теми.
chl

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

Я зазначав, що ФС не обов’язково покращує прогнозовану важливість і може погіршити її. Якщо пошук інформаційних особливостей має суттєве значення, то, звичайно, слід використовувати FS, але цілком можливо, що прогнозована ефективність буде порушена, якщо надмірно підійде критерій вибору функції (що відбувається досить легко). Для таких завдань, як аналіз мікромасивів, я б використовував (мішкову) регресію хребта для прогнозування і щось подібне до LASSO для визначення ключових особливостей (для розуміння біології). Не потрібно робити обох в одній моделі.
Дікран Марсупіал

1

Якщо ви використовуєте R, значення змінної можна обчислити методом важливості в пакеті rminer. Це мій зразок коду:

library(rminer)
M <- fit(y~., data=train, model="svm", kpar=list(sigma=0.10), C=2)
svm.imp <- Importance(M, data=train)

Детальніше перейдіть за наступним посиланням https://cran.r-project.org/web/packages/rminer/rminer.pdf


2
Ця відповідь неповна. Це не описує те, що змінна важливість у цьому пакеті намагається повідомляти.
Метью Друрі

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