2015-04-05 5 views
0

Я столкнулся с проблемой классификации, поэтому я думал, что могу использовать libSVM, и на самом деле все работает отлично.libSVM - вторая лучшая классификация

Теперь я хотел бы ввести некоторую «допуск» и посмотреть, может ли моя система угадать правильную метку данных (что я знаю априори) в N догадках (или попытках). Я имею в виду следующее: возможно ли, что libSVM выводит не только метку, которую он угадывает, но и второй, лучший, третий, ...?

EDIT - решаемые

На самом деле я «обнаружил», что я могу использовать опцию -b 1, чтобы задать libSVM для вывода вероятностей. Тогда я могу просто отсортировать их, чтобы получить N наиболее вероятных меток.

+0

Обратите внимание, что переключатель '-b 1' точно выполняет указанную в моем ответе статью (используя улучшенный алгоритм, на который ссылаются [здесь] (http://www.csie.ntu.edu.tw/ ~ cjlin/papers/libsvm.pdf), в разделе 8). – tchakravarty

+0

@fg nu Спасибо за информацию. Конечно, я принял ваш ответ! – minomic

ответ

0

Вы имеете в виду основные вероятности классификации классов. Это не производится алгоритмами машинной машины поддержки. Однако вы можете запустить вспомогательную модель, как описано в Platt (1999).

+0

Да, наверное, вы правильно поняли. Чтобы привести только пример, я имею в виду ответ: «По мне это класс 1, если это не то, что это класс 3, если это не тот класс 2». Поэтому более вероятно, что это будет 1, затем 3, затем 2. Но если вы скажете, что это не поддерживается, я буду искать другое решение, подобное тому, которое вы указали. – minomic

+0

Фактически я «обнаружил», что могу использовать опцию -b 1, чтобы спросить libSVM о выводе вероятностей. Тогда я могу просто отсортировать их, чтобы получить N наиболее вероятных меток. Вероятно, это решает мою проблему! – minomic

+0

@minomic Хорошо, я не работал с libSVM некоторое время, поэтому позвольте мне посмотреть, что это производит. – tchakravarty

Смежные вопросы