#string #validation #classification #svm #libsvm
#строка #проверка #классификация #svm #libsvm
Вопрос:
Я работаю над проблемой классификации белков с svm, поэтому я использую LibSVM для строковых данных. Ядро строки, определенное в LibSVM, является ядром расстояния редактирования, оно зависит от параметра gamma. Во время перекрестной проверки, изменяя параметры C и gamma, я получаю 75% точности во всех отношениях! Более того, также изменяя количество шаблонов обучающего набора, я получаю ту же точность. Я использую базу данных SCOP. Я понятия не имею об этом поведении!
Комментарии:
1. Пожалуйста, не выкрикивайте здесь свои вопросы. С обеих сторон клавиатуры есть клавиши Shift, чтобы облегчить доступ к ним, потому что правильно оформленный текст намного легче читать и понимать. Ввод вашей темы заглавными буквами сложнее для чтения, не поможет вам быстрее получить ответ и, откровенно говоря, довольно раздражает и грубо. Спасибо.
2. Мне очень жаль, но я не понял, что вы сказали мне о клавишах shift. Еще раз извините.
3. Я имею в виду, ПОЖАЛУЙСТА, НЕ ВВОДИТЕ ЗДЕСЬ СВОИ ВОПРОСЫ ЗАГЛАВНЫМИ БУКВАМИ.
Клавиша Shift позволяет вам правильно использовать регистр текста, потому что его легче читать, когда он правильно обработан. (Используйте верхний регистр там, где это уместно, и не используйте его ТАМ, ГДЕ ЭТО НЕ ТАК.)
Ответ №1:
Посмотрите на количество ошибок неправильной классификации каждого типа. Если вы получаете постоянную частоту ошибок, подобную этой, то вполне возможно, что каждое наблюдение присваивается одному и тому же классу. Например, если 75% ваших обучающих наблюдений относятся к одному классу, и классификатор присваивает каждое наблюдение этому классу, тогда вы увидите частоту ошибок 25%.
Комментарии:
1. да! очистить! у меня есть 3/4 моего обучающего набора с меткой -1. Итак, мой svm классифицирует все шаблоны в классе -1. Большое спасибо за это предложение.
2. Но если у меня есть эта проблема с ядром edit distance, как я могу ее решить? Единственное решение — изменить ядро? Или, может быть, это проблема с несбалансированными данными?
3. Я, в частности, не знаком с ядром edit distance, но я думаю, что это, скорее всего, проблема с балансом данных. Поскольку ваш дисбаланс не кажется слишком серьезным, взвешенный SVM может помочь. Это легко сделать с помощью libsvm. Если вы используете R, это делается с помощью
class.weights
параметраsvm
вызова функции. Если вы используете что-то другое, кроме R, оно не должно сильно отличаться.