Practica2Mineria de Datos

8
UNIVERSIDAD NACIONAL DEL ALTIPLANO - PUNO FACULTAD DE INGENIERÍA MECÁNICA ELÉCTRICA, ELECTRÓNICA Y SISTEMAS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS INFORME TEMA: PRACTICA CURSO: LABORATORIO DE INTELIGENCIA ARTIFICIAL DOCENTE: ING. BORIS SOSA MAYDANA PRESENTADO POR: VELASQUEZ MAMANI WILMER COD130308

description

pdf

Transcript of Practica2Mineria de Datos

Page 1: Practica2Mineria de Datos

UNIVERSIDAD NACIONAL DEL ALTIPLANO - PUNO

FACULTAD DE INGENIERÍA MECÁNICA ELÉCTRICA, ELECTRÓNICA Y SISTEMAS

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

INFORME

TEMA:PRACTICA

CURSO:

LABORATORIO DE INTELIGENCIA ARTIFICIAL

DOCENTE:

ING. BORIS SOSA MAYDANA

PRESENTADO POR:

VELASQUEZ MAMANI WILMER COD130308

PUNO PERÚ

2016

Page 2: Practica2Mineria de Datos

ENTREGAR: EJERCICIO NÚMERO 1

A) Usando los ficheros:

datos_1.arff

datos_2.arff y

datos_3.arff

B) Lanzar el programa WEKA dentro de un bucle, generando árboles de decisión para cada uno de los ficheros de datos y para cada uno de los siguientes valores del parámetro de confianza para la poda;

[0.005 0.010 0.025 0.050 0.10 0.15 0.20 0.25 0.30];

>> !java weka.classifiers.trees.J48 -t data/datos_1.arff >out_dat_1.txt

>> !java weka.classifiers.trees.J48 -t data/datos_2.arff >out_dat_2.txt

>> !java weka.classifiers.trees.J48 -t data/datos_3.arff >out_dat_3.txt

Para datos_1.arff

Para datos_2.arff

Para datos_3.arff

>> [porcent1,porcent2]=lee_weka('out_dat_1.txt')

porcent1 = 98.8333

porcent2 = 94.1667

>> [porcent1,porcent2]=lee_weka('out_dat_2.txt')

porcent1 = 99.3333

Page 3: Practica2Mineria de Datos

porcent2 = 95.8333

>> [porcent1,porcent2]=lee_weka('out_dat_3.txt')

porcent1 = 98.8333

porcent2 = 97.6667

C) Almacenar los resultados de clasificaciones correctas en un experimento de validación cruzada, mostrando posteriormente los resultados en un gráfico como el que se indica a continuación, donde Xxxxx Yyyyyy Zzzzzz se corresponden con el nombre y apellidos del alumno.

>> cf=[0.005 0.010 0.025 0.050 0.10 0.15 0.20 0.25 0.30];

>> for i=1:9

orden1=sprintf('!java weka.classifiers.trees.J48 -t data/datos_1.arff -C %f > out_dat1.txt',cf(i));

orden2=sprintf('!java weka.classifiers.trees.J48 -t data/datos_2.arff -C %f > out_dat2.txt',cf(i));

orden3=sprintf('!java weka.classifiers.trees.J48 -t data/datos_3.arff -C %f > out_dat3.txt',cf(i));

eval(orden1);

eval(orden2);

eval(orden3);

[p1(i),p2(i)]=lee_weka('out_dat1.txt');

[p3(i),p4(i)]=lee_weka('out_dat2.txt');

[p5(i),p6(i)]=lee_weka('out_dat3.txt');

end;

>> plot(p2,'r-o');

>> hold on

>> plot(p4,'g-d');

>> hold on

>> plot(p6,'b-*');

>> hold on

>> xlabel('umbral de confianza para la poda');

>> hold on

Page 4: Practica2Mineria de Datos

>> ylabel('resultados en validacion cruzada(%)');

>> hold on

>> legend('datos_1','datos_2','datos_3');

>> hold on

>> title('Wilmer Velasquez Mamani');

ENTREGAR: EJERCICIO NÚMERO 2

A) Crear un programa lee_weka_plus.m tomando como base el programa lee_weka.m que, además de leer los valores de porcentajes de aciertos correctos, sea capaz de leer también el tamaño del árbol de decisión (el número de nodos).Tal información se encuentra en el siguiente punto de los resultados:

Page 5: Practica2Mineria de Datos

Size of the tree : 8

B) Lanzar de nuevo el programa WEKA dentro de un bucle, con los mismos ficheros de datos del ejercicio anterior, pero recopilando en este caso los resultados de número de nodos del árbol. El resultado se debe nombrar en un gráfico como el que se indica a continuación, donde Xxxxx Yyyyyy Zzzzzz se corresponden con el nombre y apellidos del alumno.

La modificación se da en el siguiente código:

% busca el nodo en entero

cadena = busca_comienzo('Number of Leaves : ', file);

cadena = busca_comienzo('Size of the tree :', file);

datos = sscanf(cadena(19:length(cadena)), '%d');

porcent1 = datos(1);

el código en el matlab lo siguiente

>> cf=[0.005 0.010 0.025 0.050 0.10 0.15 0.20 0.25 0.30];

>> for i=1:9

orden1=sprintf('!java weka.classifiers.trees.J48 -t data/datos_1.arff -C %f > out_dat1.txt',cf(i));

orden2=sprintf('!java weka.classifiers.trees.J48 -t data/datos_2.arff -C %f > out_dat2.txt',cf(i));

orden3=sprintf('!java weka.classifiers.trees.J48 -t data/datos_3.arff -C %f > out_dat3.txt',cf(i));

eval(orden1);

eval(orden2);

eval(orden3);

[p1(i),p2(i)]=lee_weka_plus('out_dat1.txt');

[p3(i),p4(i)]=lee_weka_plus('out_dat2.txt');

[p5(i),p6(i)]=lee_weka_plus('out_dat3.txt');

end;

>> plot(p1,'r-o');

>> hold on

>> plot(p3,'g-d');

>> hold on

Page 6: Practica2Mineria de Datos

>> plot(p5,'b-*');

>> xlabel('umbral de confianza para la poda');

>> hold on

>> ylabel('numero de nodos de un arbol');

>> hold on

>> legend('datos_1','datos_2','datos_3');

>> hold on

>> title('Wilmer Velasquez Mamani');