Anda di halaman 1dari 12

RECONOCIMIENTO DE PATRONES CON LA FUNCIÓN

FITCKNN

PROGRAMACION AVANZADA

ESTUDIANTES:

LOGAN ALBERTO JARAMILLO MIRANDA


JUAN DIEGO RÉNAL FLÓREZ
JOSE FERNANDO BOTERO

DOCENTE:

JOE ALEXANDER JIMENEZ

INSTITUTU TECNOLÓGICO METROPOLITANO

MEDELLIN
2019
Introducción
La taxonomía es la ciencia que trata los principios y métodos de la clasificación, cuyo
principal objetivo es la ordenación de grupos de cosas con características similares, es
comúnmente utilizada en biología para la clasificación sistemática de grupos de especies
animales o vegetales. En nuestro planeta existe gran diversidad de especies diferentes que a
simple vista se distinguen entre sí, pero a su vez existen múltiples organismos que son
idénticos, pero pertenecen a especies diferentes.
Dado dicho problema se busca implementar un algoritmo de clasificación, que haciendo
uso de la base de datos de IRIS y por medio de la función FITCKNN permita clasificar 3
tipos de especies de iris (iris setosa, iris versicolor e iris virginica), se pueden identificar
patrones que dependiendo el largo y ancho de pétalo o también largo y ancho de sépalo nos
indique a que especie pertenece la flor, En la base de datos se encuentran registrados 50
especímenes por cada clase, un total de 150.

Herramientas de trabajo

Función Fitcknn: Una función que permite la clasificación del vecino más cercano,
donde la distancia métrica (más "cercano") y el número de vecinos, pueden modificarse.
Esta función clasifica nuevas observaciones mediante el método de predict, y además
contiene los datos utilizados para el entrenamiento, por lo que puede calcular las
predicciones de sustitución.
mdl = fitcknn(Tbl,ResponseVarName) devuelve un modelo de clasificación basado en las
variables de entrada (también conocido como predictores, características o atributos) de la
tabla Tbly la salida (respuesta) Tbl.ResponseVarName.
mdl = fitcknn(Tbl,formula) devuelve un modelo de clasificación basado en las etiquetas
de datos y la clase de predictor en la tabla Tbl. formula es un modelo explicativo de la
respuesta y un subconjunto de variables predictivas en Tbl utilizado para entrenamiento.
mdl = fitcknn(Tbl,Y) devuelve un modelo de clasificación basado en las variables de
entrada (también conocido como predictores, características o atributos) de la tabla Tbl y
salida () respuesta) Y.
mdl = fitcknn(X,Y) devuelve un modelo de clasificación basado en las variables de
entrada X y salida (respuesta) Y.
mdl = fitcknn(___,Name,Value) se ajusta un modelo con opciones adicionales
especificadas por uno o más argumentos de par nombre-valor, usando cualquiera de las
sintaxis anteriores. Por ejemplo, puede especificar el algoritmo de desempate, métricas de
distancia o pesos de observación. (The MathWorks, 2018)
IRIS Data Base:
Título: Iris Plants Database
Fuentes:
(a) Creador: RA Fisher
(b) Donante: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)
Información relevante:
- Esta es quizás la base de datos más conocida que se encuentra en el patrón
literatura de reconocimiento. El papel de Fisher es un clásico en el campo
y se hace referencia frecuentemente a este día. (Ver Duda & Hart, por
ejemplo.) El conjunto de datos contiene 3 clases de 50 instancias cada una,
donde cada clase se refiere a un tipo de planta de iris. Una clase es
linealmente separable de los otros 2; estos últimos NO son linealmente
separables el uno del otro.
- Atributo predicho: clase de planta del iris.
Número de instancias: 150 (50 en cada una de las tres clases)
Número de atributos: 4 atributos numéricos, predictivos y la clase
Información de atributos:
longitud del sépalo en cm
ancho del sépalo en cm
longitud del pétalo en cm
ancho del pétalo en cm
-Clase:
- Iris Setosa
- Iris Versicolor
- Iris Virginica
(Dua, 2017)
Iris Setosa Iris Versicolor Iris Virginica

Desarrollo
Se empieza por transcribir la base de datos IRIS en un archivo de Excel para
posteriormente ser importado en el programa Matlab 2017b y allí guardar con el nombre de
“Datos” y el nombre la variable que contiene todos los datos es “Iris”.

Después de tener guardada la base de datos se pasa a operar con ellos calculando los
siguientes datos.
Moda
El comando es MODE.
Mediana
El comando es MEDIAN.

Media
El comando es MEAN.

Varianza
El comando es VAR.

Desviación Estándar
El comando es STD.
Posterior a los datos estadísticos calculados se entrena un clasificador para que al ser
ingresadas las medidas de una especie aleatoria sea clasificada y ubicada en una de las 3
especies que tiene la base de datos, el comando usado para entrenar el clasificador es
FITCKNN.

En el GUIDE creado para visualizar los datos y hacer uso del clasificador se ingresan las
medidas de los sépalos y pétalos.
El entrenador me entrega una respuesta de 1, 2 o 3 que por medio de un Switch indico con
palabras que especie es la que ha sido ingresada.

Por último, se programa las gráficas para visualizar como están distribuidas las especies
respecto a cada medida de la base de datos.
Grafica_Vs

La programación de “Gráficas_Vs” es:


“subplot(4,4,5);
plot(Iris(1:50,1),Iris(1:50,2),'.','linewidth',2)
hold on
plot(Iris(51:100,1),Iris(51:100,2),'.','linewidth',2)
hold on
plot(Iris(101:150,1),Iris(101:150,2),'.','linewidth',2)

subplot(4,4,9);
plot(Iris(1:50,1),Iris(1:50,3),'.','linewidth',1.5)
hold on
plot(Iris(51:100,1),Iris(51:100,3),'.','linewidth',1.5)
hold on
plot(Iris(101:150,1),Iris(101:150,3),'.','linewidth',1.5)

subplot(4,4,13);
plot(Iris(1:50,1),Iris(1:50,4),'.','linewidth',1.5)
hold on
plot(Iris(51:100,1),Iris(51:100,4),'.','linewidth',1.5)
hold on
plot(Iris(101:150,1),Iris(101:150,4),'.','linewidth',1.5)

subplot(4,4,2);
plot(Iris(1:50,2),Iris(1:50,1),'.','linewidth',2)
hold on
plot(Iris(51:100,2),Iris(51:100,1),'.','linewidth',2)
hold on
plot(Iris(101:150,2),Iris(101:150,1),'.','linewidth',2)
subplot(4,4,10);
plot(Iris(1:50,2),Iris(1:50,3),'.','linewidth',1.5)
hold on
plot(Iris(51:100,2),Iris(51:100,3),'.','linewidth',1.5)
hold on
plot(Iris(101:150,2),Iris(101:150,3),'.','linewidth',1.5)

subplot(4,4,14);
plot(Iris(1:50,2),Iris(1:50,4),'.','linewidth',1.5)
hold on
plot(Iris(51:100,2),Iris(51:100,4),'.','linewidth',1.5)
hold on
plot(Iris(101:150,2),Iris(101:150,4),'.','linewidth',1.5)

subplot(4,4,3);
plot(Iris(1:50,3),Iris(1:50,1),'.','linewidth',2)
hold on
plot(Iris(51:100,3),Iris(51:100,1),'.','linewidth',2)
hold on
plot(Iris(101:150,3),Iris(101:150,1),'.','linewidth',2)

subplot(4,4,7);
plot(Iris(1:50,3),Iris(1:50,2),'.','linewidth',1.5)
hold on
plot(Iris(51:100,3),Iris(51:100,2),'.','linewidth',1.5)
hold on
plot(Iris(101:150,3),Iris(101:150,2),'.','linewidth',1.5)

subplot(4,4,15);
plot(Iris(1:50,3),Iris(1:50,4),'.','linewidth',1.5)
hold on
plot(Iris(51:100,3),Iris(51:100,4),'.','linewidth',1.5)
hold on
plot(Iris(101:150,3),Iris(101:150,4),'.','linewidth',1.5)

subplot(4,4,4);
plot(Iris(1:50,4),Iris(1:50,1),'.','linewidth',2)
hold on
plot(Iris(51:100,4),Iris(51:100,1),'.','linewidth',2)
hold on
plot(Iris(101:150,4),Iris(101:150,1),'.','linewidth',2)

subplot(4,4,8);
plot(Iris(1:50,4),Iris(1:50,2),'.','linewidth',1.5)
hold on
plot(Iris(51:100,4),Iris(51:100,2),'.','linewidth',1.5)
hold on
plot(Iris(101:150,4),Iris(101:150,2),'.','linewidth',1.5)

subplot(4,4,12);
plot(Iris(1:50,4),Iris(1:50,3),'.','linewidth',1.5)
hold on
plot(Iris(51:100,4),Iris(51:100,3),'.','linewidth',1.5)
hold on
plot(Iris(101:150,4),Iris(101:150,3),'.','linewidth',1.5)

Grafica 3D

Manual
Este proyecto contiene 3 secciones.
Primera: se encuentra los datos estadísticos de la base de datos, como lo son la moda la
mediana la media la varianza y la desviación estándar para acceder a ellas simplemente se
da clic en el botón de la opción que desee.
Segunda: se encuentra el clasificador de especies, este consiste en indicar a que especie
pertenece la flor de la cual se ha ingresado las medidas, esto se hace a partir de
comparaciones con la base de datos Iris. Los datos por ingresar aquí son Largo de Sépalo,
Ancho de sépalo, largo de pétalo y ancho de pétalo.

Tercera: se encuentran las gráficas de clasificación, Gráficas en 3D y Graficas_Vs, esta


última es el conjunto de todas las gráficas.
Gráfica 3D

Grafica_Vs
Referencias

Alba López, J. P. (18 de Octubre de 2010). Problemas de la taxonomía. Recuperado el 22 de Abril


de 2018, de
http://www.geonomia.org/dokuwiki/doku.php?id=problemas_de_la_taxonomia

Dua, D. y. (2017). Repositorio de aprendizaje automático UCI. Recuperado el 22 de Abril de 2018,


de http://archive.ics.uci.edu/ml

The MathWorks. (2018). ClassificationKNN class. Recuperado el 24 de Mayo de 2018, de


https://la.mathworks.com/help/stats/classificationknn-class.html

Anda mungkin juga menyukai