Sei sulla pagina 1di 4

Octubre 2013

Clasicador KNN
Alejandro Medina Universidad de Talca
alejandro.medina.n@gmail.com Abstract
Un clasicador KNN (K-nearest neighbours) que signica los "k vecinos ms cercanos" obtiene las clases de las muestras ms cercanas con lo cual denir la clase a la cual pertenece el elemtno de la consulta.

I. Introducin
El clasicador KNN es un clasicador fcil de implementar ya que requiere de un algoritmo bsico como lo es KNN, en el cual se basa para realizar las clasicaciones.[1]. Para los datos de los individuos el *.arff ha quedado de la siguiente forma: @relation whatever @attribute altura numeric @attribute peso numeric @attribute edad numeric @attribute genero {F,M} @data 163 , 62 , 29 , F 175 , 81 , 27 , M 165 , 70 , 35 , F Para los datos de iris el *.arff ha quedado de la siguiente forma: @relation person @attribute sepallength numeric @attribute sepalwidth numeric @attribute petallength numeric @attribute petalwidth numeric @attribute class {ise,ive,ivi} @data 5.1,3.5,1.4,0.2,ise 4.9,3.0,1.4,0.2,ise 4.7,3.2,1.3,0.2,ise

II. Obtencin de Datos


El primer grupo de datos que utiliza el ejemplo son de 257 individuos de la ciudad de Curic, para los cuales se quiere determinar su sexo en base a su peso, altura y edad. El segundo grupo de datos ha sido obtenido desde UCI Machine Learning Repository1 , que es un repositorio de datasets para entrenar maquinas de aprendizaje. Estos datos corresponden a los de una or llamada iris2 en la cual se quiere determinar el tipo de planta(iris versicolor, iris virginica, iris setosa) en base a su longitud de spalo, ancho de spalo, longitud de ptalo y ancho de ptalo. Estos datos han sido recolectados y luego exportados al formato *.arff, que es un formato que utiliza el software de prediccin llamado Weka3 y es un documento de texto simple donde es posible representar datos y tipos de mejor manera para que sea procesado por Weka.
1 http://archive.ics.uci.edu/ml/ 2 http://www.botanicayjardines.com/iris-setosa/ 3 http://www.cs.waikato.ac.nz/ml/weka/

Octubre 2013

III. Descripcin de KNN


Este clasicador responde la clase a la cual pertenece el elemento en base a la clase de los K-elementos ms cercanos. Para determinar estos vecinos ms cercanos se deben realizar los siguientes pasos: Obtener las distancias entre el elemento de la consulta y todos los elementos de la muestra. Ordenar los elementos de menos a mayor por sus distancias al elemento de la consulta. Aislar los K elementos ms cercanos. Realizar una votacin simple a estos elementos en base a la clase a la que pertenecen el resultado de la votacion determinar la clase a la que pertenece el elemento de la consulta. Caso 2:

En el Caso 1, el elemento de la consulta(en verde) obtiene sus K = 5 elementos ms cercanos, los cuales pertenecen a solo una clase, con lo cual el elemento sera clasicado con la clase resultante de la votacin

Cuando se realiza una consulta de KNN pueden suceder 2 casos, para el ejemplo utilizaremos un K = 5, las formas de las guras determinan a que clase corresponde el elemento.

En el Caso 2, el elemento de la consulta obtiene sus K = 5 elementos ms cercanos, pero el elemento de la consulta se encuentra en una zona donde existe una disputa entre las dos clases. Cuando sucede esto el resultado de la votacin ser entrecho, pero determinar la clase del elemento de consulta. Para obtener la certeza, se debe calcular una matriz de confusin. El tamao de la ma-

Caso 1: 2

Octubre 2013

triz de confusin la determinar el numero de clases posibles, por ejemplo si las clases son 2, la matriz ser de 2x2. La matriz en su diagonal tendr los aciertos, los cuales nos permitiran estimar la certeza de la respuesta. A medida que se ejecuta el algoritmo el fold de pruebas cambiar de posicin y se volvera a ejecutar el algoritmo, llenando asi gradualmente la matriz de confusin.

V. Resultados Finales
Los resultados obtenidos con los datos recolectados, son los siguientes Para el dataset de personas con la siguiente matriz de confusin:

IV. Implementacin en JAVA


Para la implementacin se utiliz JAVA74 , utilizando el programa Netbeans5 y la libreria de Weka como se ven en la imagen: Total Aciertos: 222 Total de Datos: 257 calculoCerteza: 86.381325 % Para el dataset Iris con la siguiente matriz de confusin:

Se ha separado el dataset en 10 partes de las cuales constantemente 9 estaran para entrenamiento y 1 para pruebas
4 http://www.oracle.com/technetwork/es/java/javase/downloads/index.html 5 https://netbeans.org/

Octubre 2013

encuentre Clasicador.jar. Total Aciertos: 141 Total de Datos: 150 calculoCerteza: 94.0 % Luego para la ejecucin del programa se escribe el siguiente comando: java -jar Clasicador.jar 1 /ruta/al/archivo/*.arff

VI. Ejecucin del programa


Inicialmente se debe tener la version 7 de Java del JRE para poder ejecutar el programa, adems contar con el set de datos *.arff que esta incluido en el cdigo. Para ejecutar el programa es necesario tener los datos *.arff y acceder a la carpeta donde se

References
[1] Documentacin KNN: DJJF MMM I? ADK AI ??M>=OAI @ ?A ?E= ?? @ ?I J'I

[2] Documentacin de Java: DJJF

H=? A ?

=L=IA % @ ?I =FE

@ ?I

Potrebbero piacerti anche