Quiero usar el clasificador LibSVM con Weka en mi aplicación. ¿Cómo puedo (o dónde puedo encontrar buenos ejemplos) hacer esto?¿Cómo usar LibSVM con Weka en mi código de Java?
Respuesta
Un poco tarde ahora, seguramente, pero voy a responder de todos modos. Debe usar weka.jar, libsvm.jar y wlsvm.jar (el contenedor libsvm) en su proyecto. Así que solo incluye los 3 jar en tu camino de construcción o clase o lo que sea.
Puede obtener el wlsvm.jar desde aquí: http://www.cs.iastate.edu/~yasser/wlsvm/
, usted puede obtener weka desde aquí: http://www.cs.waikato.ac.nz/ml/weka/
y se puede obtener libsvm desde aquí: http://www.csie.ntu.edu.tw/~cjlin/libsvm/
no pude conseguir que esto trabajo con weka 3.7.7 o 3.7.8, pero pude hacerlo funcionar con 3.6.8 (la última versión estable a día de hoy).
Además, como tuve que obtener los archivos .class del svnlib y también incluirlos en la ruta de compilación de mi proyecto. Para compilar los archivos .class, use el archivo make en SVNLib/java.
Aquí es una pequeña pieza de código para empezar:
DataSource source = new DataSource(new File("mycsvinputfile"));
System.out.println(source.getStructure());
Instances data = source.getDataSet();
// setting class attribute if the data format does not provide this information
// For example, the XRFF format saves the class attribute information as well
if (data.classIndex() == -1)
data.setClassIndex(data.numAttributes() - 1);
//initialize svm classifier
LibSVM svm = new LibSVM();
svm.buildClassifier(data);
Buena suerte.
Siga este enlace para combinar Weka y libsvm http://www.cs.iastate.edu/~yasser/wlsvm/
weka es buena calculando la República de China, memoria, etc .... y libsvm que es bueno para la clasificación, regresión, etc ...
Para utilice la biblioteca libSVM con la versión más nueva de weka (3.7.9), solo necesita usar el "Administrador de paquetes" de la aplicación weka e instalar el paquete libSVM.
Finalmente, desde el proyecto java, tiene que agregar la biblioteca LibSVM creada por el "Administrador de paquetes" al Classpath.
Normalmente está en el directorio "(HOME) \ wekafiles \ packages \ LibSVM".
Resulta que los chicos weka han hecho nuestro trabajo MUCHO más fácil con las versiones más recientes haciendo que todo esté disponible desde Maven Central.
simplemente obtener la dependencia de aquí: http://mvnrepository.com/artifact/nz.ac.waikato.cms.weka/LibSVM
y todo funcionará por lo que van dependencias. No te metas con envoltorios y agregas jar a classpath o algo por el estilo.
Estoy usando la versión 3.7.12 pero supongo que ha estado disponible desde que se agregó la función de administrador de paquetes a la GUI.
Con la nueva versión solo necesita el weka.jarra y llamada SVM como este,
WekaPackageManager.loadPackages(false, true, false);
AbstractClassifier classifier = (AbstractClassifier) Class.forName(
"weka.classifiers.functions.LibSVM").newInstance();
Si prefiere dar opciones establezca las opciones como ésta
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);
Finalmente entrenar el clasificador
classifier.buildClassifier(train);
- 1. ¿Cómo usar libsvm en Matlab?
- 2. Cómo agregar clases de LibSVM a WEKA classpath en una Mac
- 3. Cómo usar pesas en Weka
- 4. Un ejemplo de uso de LibSVM en java
- 5. ERROR Al usar WEKA API en código Java: ¿Atributo de clase no establecido?
- 6. libsvm aplicación java
- 7. Clasificación básica de texto con Weka en Java
- 8. Cómo usar scala.collection.immutable.List en un código Java
- 9. ¿Cómo puedo usar NSRange con enteros para simplificar mi código?
- 10. ¿Cómo usar emacs como mi JAVA IDE?
- 11. Núcleos precalculados de Libsvm
- 12. Kernels precalculados con LibSVM en Python
- 13. Atributos nominales en LibSVM
- 14. Ayuda - 100% de precisión con LibSVM?
- 15. ¿Debo usar @ en mi código PHP?
- 16. ¿Cómo usar FFMPEG con Java?
- 17. Precisión de LibSVM disminuye
- 18. ¿Cómo usar Maven en mi proyecto Java y por qué?
- 19. crear un atributo de cadena en Java API weka
- 20. ¿Debería mezclar mi código de seguridad con mi código inseguro?
- 21. ¿Cómo puedo usar una medida de distancia diferente para el vecino k-más cercano en Java/Weka?
- 22. Weka Atributo Selección
- 23. predicción de método libsvm confusión
- 24. Tutorial para libsvm C++
- 25. ¿Cómo agrupar PHPUnit con mi código?
- 26. ¿Es preciso libsvm?
- 27. ¿Cómo usar OpenNLP con Java?
- 28. libsvm para trazar curvas ROC
- 29. Error de restricción de acceso en mi código de Java
- 30. libsvm Shrinking Heuristics