вероятно оценивающий классификатор: rand в LibSVM, WEKA

Я установил WEKA и скачал wlsvm, добавил jar-файлы, libsvm.jar и wlsvm.jar в CLASSPATH, таким образом успешно интегрировав LibSVM в Weka Environment. Я сгенерировал случайные числовые атрибуты (функции) и категориальные, конечно, классы и попытался запустить LibSVM, но получил эту ошибку «проблема с оценкой классификатора: rand». Я понятия не имею, почему я получил эту ошибку, я искал ее в Интернете и не нашел никакого решения. не могли бы вы мне помочь? Кстати, я новичок в WEKA, Java и LibSVM.


person ARAT    schedule 12.12.2012    source источник
comment
есть ли конкретная причина, по которой вы используете такую ​​экзотическую настройку?   -  person carlosdc    schedule 13.12.2012
comment
На самом деле, LibSVM — единственный способ сделать SVM. Есть ли другой простой способ, о котором я не знаю?   -  person ARAT    schedule 13.12.2012
comment
Новые версии WEKA (например, 3.7.7, которую можно загрузить с cs.waikato. ac.nz/ml/weka) имеет менеджер пакетов. С помощью менеджера пакетов вы можете автоматически загрузить и интегрировать libsvm в WEKA. Менеджер пакетов доступен через меню WEKA GUI Chooser -> Tools.   -  person hkn    schedule 13.12.2012
comment
Хорошо, я скачал Weka 3.6, стабильную версию 3-го издания. версия. теперь я удалил все это и поставлю версию для разработчиков. Расскажу результаты. Весьма признателен!   -  person ARAT    schedule 13.12.2012
comment
Я использую Weka 3-6-8 на OSX, и у меня нет менеджера пакетов для установки libsvm. Я запускаю его через .app (поэтому не из командной строки), и я получаю ту же ошибку (после того, как я переместил libsvm.jar и обновил Info.plist), и теперь я получаю эту ошибку и не знаю, как исправить Это.   -  person Reily Bourne    schedule 23.12.2012
comment
Лучшее решение — интегрировать LibSVM в MATLAB и не использовать Weka. Вы можете использовать команды LibSVM (например, svmtrain или svmpredict) или найти коды в Интернете.   -  person ARAT    schedule 23.12.2012
comment
Совет Hkn работает для меня. Но мне потребовалось 2 дня, пока я не обнаружил способ. Ответ: вам нужно вручную загрузить ZIP-файл последней версии плагина libSVM и вручную установить локальный (уже загруженный) установочный файл в правом верхнем (неофициальном файле/URL) углу окна диспетчера пакетов.   -  person Diego Stiehl    schedule 27.09.2013
comment
Кто-нибудь нашел правильное решение проблемы rand? Я застрял с той же проблемой и нашел этот вопрос, но я думаю, что никто на самом деле не ответил на него...   -  person Cheshie    schedule 19.05.2014


Ответы (3)


LIBSVM — отличная библиотека. Однако, по моему опыту, лучшая, самая современная и наиболее проверенная версия LIBSVM — это обычная версия LIBSVM на C++. Я бы посоветовал вам попробовать загрузить и протестировать случайные данные, которые вы сгенерировали в обычной LIBSVM. Это даже не требует написания кода на C++, все, что вам нужно сделать, это создать обучающий файл и тестовый файл во входном формате LIBSVM.

Это позволит вам более эффективно устранять неполадки в том, что происходит. Если это не работает с версией C++, то мы можем это точно проверить, если это работает с версией C++, мы можем быть уверены, что проблема заключается в (1) взаимодействии с WEKA, (2) старой ошибке в LIBSVM java, который не был исправлен, (3) то, что вы называете wlsvm.jar (я не уверен, что это такое) или смесь этих вещей.

person carlosdc    schedule 13.12.2012
comment
для получения дополнительной информации о wlsvm.jar см. cs.iastate.edu/~yasser/wlsvm В любом случае, вы предлагаете использовать обычную libsvm, которая использует команду run/execute. попробую, отпишусь о результатах - person ARAT; 13.12.2012

Я предлагаю вам обновить Weka до версии 3.7. У меня была та же проблема, что и у вас (также заметил, что это приводит к ошибке с использованием инструмента визуализации). Я скачал weka 3.7.8, затем использовал менеджер пакетов для установки libsvm, и с тех пор он работает.

person Matthieu Exbrayat    schedule 30.01.2013

Я тоже столкнулся с этой проблемой, если я не ошибаюсь, было выброшено такое исключение:

java.lang.NoSuchFieldException: rand
    java.lang.Class.getField(Unknown Source)
    weka.classifiers.functions.LibSVM.buildClassifier(LibSVM.java:1618)
    weka.gui.explorer.ClassifierPanel$16.run(ClassifierPanel.java:1409)

поэтому кажется, что ваша версия libsvm слишком низкая, и некоторые файлы были изменены.

person Steven    schedule 23.12.2014