You are on page 1of 6

UNIVERSIDAD NACIONAL DEL ALTIPLANO - PUNO

FACULTAD DE INGENIERA MECNICA ELCTRICA, ELECTRNICA Y


SISTEMAS

ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS

INFORME
TEMA:
PRACTICA
CURSO:
LABORATORIO DE INTELIGENCIA ARTIFICIAL
DOCENTE:
ING. BORIS SOSA MAYDANA
PRESENTADO POR:
VELASQUEZ MAMANI WILMER

PUNO

COD130308

PER
2016

ENTREGAR: EJERCICIO NMERO 1


A) Usando los ficheros:
datos_1.arf
datos_2.arf y
datos_3.arf
B) Lanzar el programa WEKA dentro de un bucle, generando rboles
de decisin para cada uno de los ficheros de datos y para cada uno
de los siguientes valores del parmetro 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
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 validacin cruzada, mostrando posteriormente los
resultados en un grfico como el que se indica a continuacin,
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

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


>> hold on
>> legend('datos_1','datos_2','datos_3');
>> hold on
>> title('Wilmer Velasquez Mamani');

ENTREGAR: EJERCICIO NMERO 2


A) Crear un programa lee_weka_plus.m tomando como base el programa
lee_weka.m que, adems de leer los valores de porcentajes de aciertos
correctos, sea capaz de leer tambin el tamao del rbol de decisin (el
nmero de nodos).Tal informacin se encuentra en el siguiente punto de los
resultados:

Size of the tree :

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 nmero de nodos del rbol. El resultado se debe nombrar en
un grfico como el que se indica a continuacin, donde Xxxxx Yyyyyy Zzzzzz
se corresponden con el nombre y apellidos del alumno.
La modificacin se da en el siguiente cdigo:

% 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 cdigo 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

>> 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');

You might also like