2013-08-23 6 views
5

J'essaie d'utiliser le classificateur svm dans weka. Lorsque je clique sur le classificateur libsvm et essayer de former un modèle basé sur certaines données de la formation dispensée, je reçois l'erreurComment utiliser SVM dans Weka?

libsvm classes not in CLASSPATH. 

Le site de WEKA a quelques informations sur la façon de résoudre ce problème, mais je ne suis pas sûr de savoir comment les exécuter.

http://weka.wikispaces.com/LibSVM

J'obtenu le fichier libsvm.jar du lien fourni. Je ne suis pas sûr du fichier dans lequel le mettre.

+0

L'algorithme SVM pour weka est: 'weka.classifiers.functions.libsvm' –

Répondre

2

Vous devez définir votre variable classpath afin qu'elle sache où trouver ce fichier sur votre ordinateur local. Si vous êtes sur Windows, cliquez avec le bouton droit sur Ordinateur-> Propriétés-> Paramètres système avancés-> Variables d'environnement et définissez-le sous Variables système. Les chances sont que vous avez déjà une variable classpath; il suffit donc d'ajouter le chemin de votre fichier jar à la fin.

Référence: http://weka.wikispaces.com/CLASSPATH

1

Ajout à la réponse de Rob: fonction de vos valeurs ci-dessous. C'est ainsi que cela est sauvegardé pour moi.

  • Nom de la variable: CLASSPATH
  • valeur variable: C: \ Program Files (x86) \ Weka-3-6 \ libsvm-3.20 \ java \ libsvm.jar
0

Vous avez juste besoin libsvm .jar dans le chemin de classe avec les dernières versions de weka. Il suffit de l'essayer comme ça

WekaPackageManager.loadPackages(false, true, false); 
AbstractClassifier classifier = (AbstractClassifier) Class.forName(
     "weka.classifiers.functions.LibSVM").newInstance(); 

Si vous préférez donner des options définir les options comme celui-ci

String options = ("-S 0 -K 0 -D 3 -G 0.0 -R 0.0 -N 0.5 -M 40.0 -C 1.0 -E 0.001 -P 0.1"); 
String[] optionsArray = options.split(" "); 
classifier.setOptions(optionsArray); 

Enfin former le classificateur

classifier.buildClassifier(train); 
0

Dans votre fichier .bash_profile ou dans votre environnement variables dont vous avez besoin pour ajouter le chemin d'accès complet au fichier jar libsvm Pour un fichier .basch_profile: export CLASSPATH = $ CLASSPATH:/FULL_ PATH_TO_LIBSVM.jar

Questions connexes