You are on page 1of 9

INGENIERIA EN

SISTEMAS INTELIGENTES

ALUMNO: Mendoza Corts Isidoro Ivn


N. DE CUENTA: 1026884
SEMESTRE: M9

FECHA DE ENTREGA: 11/Nov/14

Objetivo
Implementar el cdigo para ejecutar desde java (netbeans) la API de WEKA como
herramienta de ayuda en la minera de datos para el anlisis, la clasificacin y el filtrado de
cierto tipo de datos, al ser weka un software de aprendizaje.

Introduccin
En esta prctica veremos el uso de la api de weka para entorno java (netbeans), con la cual
podremos realizar bsicamente lo mismo que en weka pero se estar ligado a weka, este
mtodo es diferente al enseado, ya que en este cargaremos el proyecto y resolveremos
los conflictos dentro del proyecto.

Desarrollo
Aqu podemos ver que al abrir el proyecto nos presenta un error que ya esperbamos ya
que necesitamos el archivo weka.Jar para poderlo ejecutar sin problema.

En la siguiente ventana vemos la resolucin del problema buscando el archivo necesitado de forma manual,
inclusive nos indica cul es el archivo que falta para su correcta ejecucin.

Exploramos los archivos en la siguiente ruta que el sistema nos genera por default (C:\Archivos de
Programa\Weka-3-6) hasta llegar a la carpeta Weka -3-6 en esta encontraremos el archivo weka.jar lo
seleccionamos y lo abrimos.

Ahora esta ventana nos dir que el archivo seleccionado es correcto y que el problema est resuelto.

Ahora podemos visualizar que ya se ha agregado la nueva biblioteca y que el


proyecto ya no presenta errores y podemos acceder al cdigo, hacemos las
siguientes modificaciones:

Libreras necesarias para correr la aplicacin


import java.awt.BorderLayout;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Random;
import weka.classifiers.Evaluation;
import weka.classifiers.trees.J48;
import weka.core.Instances;
import weka.gui.treevisualizer.PlaceNode2;
import weka.gui.treevisualizer.TreeVisualizer;
public class testWeka {
public static void main(String[] args) throws Exception {
// con este mtodo Abrimos el archovo .arff
BufferedReader reader = new BufferedReader(new FileReader("clima.nominal.arff"));
//Creamos la instancia que recibir los datos
Instances data = new Instances(reader);
//Cerramos el archivo
reader.close();
// Estableciendo el atributo clase
data.setClassIndex(data.numAttributes() - 1);
System.out.println("Atributos leidos: " + data.numAttributes());
System.out.println("Ejemplos leidos: " + data.numInstances());
System.out.println("Clases leidas: " + data.numClasses());
// crear instancia del clasificador
J48 tree = new J48();
//Entrenar al modelo
tree.buildClassifier(data);
System.out.println("Modelo construido");
//Evaluar el modelo
Evaluation eval = new Evaluation(data);
eval.crossValidateModel(tree, data, 10, new Random(1));
//Impresin de resultados
System.out.println(eval.toSummaryString());
// Grafiaca del arbol

final javax.swing.JFrame jf =new javax.swing.JFrame("Visualizacin del arbol de clasificacin de Weka:


J48");
jf.setSize(500, 400);
jf.getContentPane().setLayout(new BorderLayout());
//Clase que nos pemite visualizar el arbol
TreeVisualizer tv = new TreeVisualizer(null, tree.graph(), new PlaceNode2());
jf.getContentPane().add(tv, BorderLayout.CENTER);
jf.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
jf.dispose();
}
});
jf.setVisible(true);
tv.fitToScreen();
}
}

rbol de clasificacin de weka con la biblioteca cargada en el proyecto

Conclusiones
Esta biblioteca es una excelente herramienta para el uso del entorno Weka dentro de java ya que de manera
es sencillo y se puede hacer uso de las herramientas de weka para poder ser aplicados en cdigos ms
complejos en los cuales se pueden hacer uso de los algoritmos de clasificacin de datos para su evaluacin en
el rea de minera de datos, resulta una manera muy verstil el uso de las herramientas de la api de weka y lo
mejor que podemos apreciar es que el desempeo es similar, en las ventanas podemos apreciar que el sistema
se est ejecutando en java y sin ningn problema tambin nos muestra excelentes resultados.

You might also like