2012-02-12 27 views
10

Estoy ejecutando Max OS X 10.7 Lion y quiero usar WEKA con LibSVM desde la línea de comandos. Me sale este error:Cómo agregar clases de LibSVM a WEKA classpath en una Mac

Problem evaluating classifier: libsvm classes not in CLASSPATH! 

Error I am receiving in WEKA

me encontré con la biblioteca LibSVM here. Necesito agregarlo a mi classpath de Java para que WEKA pueda encontrarlo. La descarga contiene varios archivos, que se muestran a continuación. No sé cómo agregarlos a mi classpath para Java.

Files in LibSVM download that need to be added to classpath

Estoy intentando utilizar el clasificador LibSVM en WEKA, ya que es preferible para mí durante SMO. Tampoco estoy seguro si esto significa el classpath de Java o si es específico de WEKA. Tampoco sé de dónde obtener estas clases. Cualquier ayuda es apreciada.

+0

LibSVM debe descargarse, extraerse y agregarse al classpath para que su programa java pueda usarlo. Consulte https://weka.wikispaces.com/LibSVM para obtener instrucciones sobre cómo agregarlo a classpath. Si esas instrucciones son de un nivel demasiado alto, entonces debe poner este negocio de aprendizaje automático en espera y volver directamente a los tutoriales de principiante de Java sobre los fundamentos de la programación de Java: http://www.homeandlearn.co.uk/java/java. html Son todos esos: "¡Aprende Java en 23.7 minutos!" Los libros titulados han enseñado a las personas que pueden ser expertos en Java en una hora, cuando en realidad están cerca de los 5 años. –

+0

WEKA es una aplicación GUI. En el momento en que lo estaba usando porque * no * necesitaba saber Java para usarlo (supuestamente). Estos días estoy bastante contento con Python (NLTK y scikit-learn) y R. – Dan

Respuesta

15

Aquí es otra manera extremadamente fácil de añadir soporte LibSVM a WEKA en OS X (sin línea de comandos es necesario):

  1. Descargar LibSVM de here
  2. Ir a la carpeta/Aplicaciones de su Mac (la carpeta donde está instalada la aplicación Weka)
  3. clic derecho en Weka> eligió "Mostrar contenido del paquete"
  4. Copia libsvm.jar a /Applications/Weka.app/Contents/Resources/Java
  5. open /Applications/Weka.app/Contents/Info.plist en su editor de texto favorito
  6. cambio <string>$JAVAROOT/weka.jar</string>-<string>$JAVAROOT/weka.jar:$JAVAROOT/libsvm.jar</string> (también se puede ajustar el tamaño de la pila aquí)
  7. Guardar y comenzar weka
+0

Gracias por resolver, pero tengo un problema al incluir este "evaluador clasificador rand". ¿Cómo puedo manejarlo? – ndrx42

11

Puede poner libsvm.jar en una carpeta de su elección, p. ~/Library/Java y ejecute weka desde la línea de comandos de la siguiente manera:

$ java -Xmx512m -classpath /Users/chl/weka/weka.jar:/Library/Java/libsvm.jar weka.gui.GUIChooser 

Usted también puede actualizar su CLASSPATH a lugares donde reflejan *.jar archivos se pueden encontrar. Tengo el siguiente en mi .profile:

export CLASSPATH="/Users/chl/weka/weka.jar:~/Library/Java/*" 

(Usted tendrá que reemplazar /Users/chl/weka para reflejar la ubicación correcta de su weka.jar, por lo general, se encuentra en la parte superior del directorio si ha descargado los archivos de origen, o bajo weka-3-7-3.app/Contents/Resources/Java/ si utiliza la aplicación incluida.)

de esta manera, el primer comando para iniciar la GUI weka simplifica a

$ java -classpath $CLASSPATH:weka.jar:libsvm.jar weka.gui.GUIChooser 

no utilice java -jar desde que t anulará el CLASSPATH, como se describe en here.

que también tienen un alias en mi .bash_aliases para envolver todo eso:

alias weka='java -Xmx512m -classpath $CLASSPATH:weka.jar' 

con el fin de utilizar weka desde la línea de comandos como, por ejemplo,

$ weka weka.classifiers.trees.RandomTree -t iris.arff -i 
+0

¡Gracias! Voy a probar esto esta tarde (y marcar esto como la respuesta aceptada si funciona). Gracias de nuevo, – Dan

+0

@ DanO'Day. Tuviste la oportunidad de probar lo anterior. ¿Eso funcionó? – chl

+0

Me disculpo por no volver a esto. Sí, esto funcionó muy bien! Gracias, – Dan

1

descargar los archivos libSVM y más allá de ellos en el directorio de trabajo de weka. Ahora va al Panel de control-> Sistema-> Configuración avanzada del sistema-> y Edita la variable de entorno, selecciona la variable Class_Path y copia toda esa ruta junto con el nombre del archivo. es decir, C: \ Program Files \ Weka \ Libsvm.jar; y haga clic en OK-ok-ok y reinicie el weka

1

1) copia libsvm.jar encontró here en la carpeta de Java en el contenido del paquete de la Weka.app:

<path-to-Weka.app>/Weka.app/Contents/Java/ 

2) Añadir a esta línea el archivo de configuración .bash_profile o similar:

export CLASSPATH="<path-to-Weka.app>/Weka.app/Contents/Java/weka.jar:<path-to-Weka.app>/Weka.app/Contents/Java/libsvm.jar" 

Nota: se debe reemplazar <path-to-Weka.app> por su propio camino. Podría verse como /Applications/JavaApp/weka-3-6-11-oracle-jvm.app.

Cuestiones relacionadas