SlideShare una empresa de Scribd logo
El algoritmo K-NN y su importancia en el modelado de datos 12/1/2019
Lic. y Prof. Daniel CAVALLER Página 1 de 3
El algoritmo K-NN y su importancia en el modelado de
datosi
AD TECH & ANALYTICS 20 JULIO, 2018, Se lee en 3 minutos
“Dime con quién vas y te diré quién eres”
Este refrán rancio y conocido por todos, me da pie a comentar un algoritmo muy popular y
utilizado en modelos de clasificación: el de los K vecinos más cercanos o K-NN (K Nearest
Neighbours).
Concepto
La idea es realmente sencilla: el algoritmo clasifica cada dato nuevo en el grupo que
corresponda, según tenga k vecinos más cerca de un grupo o de otro. Es decir, calcula la
distancia del elemento nuevo a cada uno de los existentes, y ordena dichas distancias de menor
a mayor para ir seleccionando el grupo al que pertenecer. Este grupo será, por tanto, el de mayor
frecuencia con menores distancias.
El K-NN es un algoritmo de aprendizaje supervisado, es decir, que a partir de un juego de
datos inicial su objetivo será el de clasificar correctamente todas las instancias nuevas. El juego
de datos típico de este tipo de algoritmos está formado por varios atributos descriptivos y un
solo atributo objetivo (también llamado clase).
¿Cómo funciona? Ejemplo
En contraste con otros algoritmos de aprendizaje supervisado, K-NN no genera un modelo fruto
del aprendizaje con datos de entrenamiento, sino que el aprendizaje sucede en el mismo
momento en el que se prueban los datos de test. A este tipo de algoritmos se les llama lazy
learning methods y funciona como en este ejemplo:
Pensemos en un juego de datos donde cada instancia se corresponde con un cliente de una
entidad financiera. Para cada cliente conocemos una serie de atributos, como sus ingresos,
gastos, patrimonio, edad, etc., también para cada cliente tenemos un atributo objetivo o clase
que trataremos predecir: es o no apto para un préstamo personal.
Sea D nuestro juego de datos en el que distinguimos la siguiente estructura:
Donde dm indica cada una de las instancias del
juego de datos (los clientes), am,n indica cada uno
de los atributos descriptivos (ingresos, gastos,
patrimonio, edad, etc.) y c indica el atributo
objetivo o clase a predecir (es o no apto para un préstamo personal).
El algoritmo K-NN y su importancia en el modelado de datos 12/1/2019
Lic. y Prof. Daniel CAVALLER Página 2 de 3
Para crear el modelo, partimos nuestro juego de datos D en dos partes aleatorias: una compuesta
por el 70% que usaremos para entrenar, y otra por el 30% restante que usaremos para validar el
modelo.
En este punto, merece la pena comentar que puede llegar a producirse el efecto del sobre
entrenamiento del modelo (overfitting), lo que provoca que el modelo que se construye, en
lugar de describir las estructuras subyacentes del juego de datos, lo que acaba describiendo sea,
exclusivamente, el juego de datos de entrenamiento no siendo extrapolable a otros juegos de
datos.
Fijamos un valor para k, habitualmente pequeño, y hacemos que el algoritmo compute una
instancia d del juego de datos de prueba. Fruto de este proceso, el algoritmo selecciona las k
instancias del juego de datos de entrenamiento más cercanas (de acuerdo con la métrica de
similitud utilizada) y se asigna la instancia d a la clase más frecuente de entre las k instancias
seleccionadas como más cercanas.
Como vemos, sin duda, se trata de un algoritmo tremendamente simple pero con una buena
efectividad.
Destacar que K-NN es muy sensible a:
• La variable k, de modo que con valores distintos de k podemos obtener resultados también
muy distintos. Este valor suele fijarse tras un proceso de pruebas con varias instancias.
• La métrica de similitud utilizada, puesto que esta influirá, fuertemente, en las relaciones
de cercanía que se irán estableciendo en el proceso de construcción del algoritmo. La
métrica de distancia puede llegar a contener pesos que nos ayudarán a calibrar el algoritmo
de clasificación, convirtiéndola, de hecho, en una métrica personalizada.
Vemos cómo influye el valor de k:
Web Data Mining, de Bing Liu
 Para k = 1 el algoritmo clasificará la bola con signo + como
blanca;
 Para k = 2 el algoritmo no tiene criterio para clasificar la bola
con signo +;
 Para k >= 3 el algoritmo clasificará la bola con signo + como
negra.
Su mayor debilidad es la lentitud en el proceso de clasificación puesto que su objetivo no es
obtener un modelo optimizado, sino que cada instancia de prueba es comparada contra todo el
juego de datos de entrenamiento y, será la bondad de los resultados lo que determinará el ajuste
El algoritmo K-NN y su importancia en el modelado de datos 12/1/2019
Lic. y Prof. Daniel CAVALLER Página 3 de 3
aspectos del algoritmo como el propio valor k, del criterio de selección de instancias para formar
parte del juego de datos “D” de entrenamiento o la propia métrica de medida de similitud.
Finalmente, conoceremos la precisión del algoritmo a través de una evaluación de la matriz de
confusión. En ella, se valorarán los verdaderos positivos, los falsos positivos, los positivos
incorrectos, etc.
Aplicaciones
Este modelo se utiliza en data mining (minería de datos), por lo que su uso en aprendizaje
automático (Machine Learning) es una de sus aplicaciones clave para, por ejemplo, sistemas
de recomendación (plataformas de contenido digital, procesos de venta cruzada en eCommerce,
etc.).
Por último y, a modo de comentario, el concepto de los vecinos más cercanos es un importante
factor en la física de estado sólido, ya que las propiedades de la materia se modifican en función
de la estructura de las redes y las distancias entre los átomos. De hecho, es habitual hacer
aproximaciones en los modelos físicos para despreciar aquellas partículas que no forman parte
de los K vecinos más próximos.
Proyecciones
¿Qué más casos de uso podrían plantearse con este tipo de modelo?
¿Qué Ciencias y cuáles campos de estas lo soportarían?
¿Cuáles son sus alcances y límites de aplicación en el desarrollo ingenieril de software?
i
Fuente web: https://www.analiticaweb.es/algoritmo-knn-modelado-datos/

Más contenido relacionado

PPT
Vectores y matrices
DOCX
Taller de derive
PDF
Clase0005- Clasificacion mediante diferentes algoritmos
PPTX
Modelo supervisado knn
PPTX
Modelo supervisado knn
PDF
Aprendizaje automático I - Tema 5 Aprendizaje Automático No-Supervisado.pdf
PDF
Aprendizaje de Maquina y Aplicaciones
Vectores y matrices
Taller de derive
Clase0005- Clasificacion mediante diferentes algoritmos
Modelo supervisado knn
Modelo supervisado knn
Aprendizaje automático I - Tema 5 Aprendizaje Automático No-Supervisado.pdf
Aprendizaje de Maquina y Aplicaciones

Similar a El algoritmo k nn y su importancia en el modelado de datos (20)

PDF
Que es Datamining y su importancia el rpoceso de KDD
PPT
Clustering.ppt
PDF
Mineria de Datos.pdf
PDF
Ia2 Algoritmos Clasificacion Vecindad
PPT
Agrupamiento Kmeans
PPTX
Mineria de datos
PPTX
Open Analytics - Minería de Datos con Knime
PPTX
Introduccin_a_la_Minera_de_Datos_M_cc_v2.pptx
PDF
Tema 5 APLICACION DE TECNICAS DE APRENDIZAJE NO SUPERVISADO BLOQUE I v1.pdf
PDF
T1-AprendizajeAutomatico.pdf
PDF
Pass - Algoritmos de clasificacion
PPT
Clasificador_minima_distancia_aplicada.ppt
PPT
Clasificador_de_minima_distancia en imagenes.ppt
PPTX
Machine Learning Inteligencia Artif.pptx
PPTX
Machine Learning grup nteligencia a.pptx
PDF
Introducción al ML
PPT
Vecinos Proximos
PDF
Minería de Datos: Qué significa realmente y ejemplos de utilización
PDF
BigData 101 / Cursillo (Parte3)
Que es Datamining y su importancia el rpoceso de KDD
Clustering.ppt
Mineria de Datos.pdf
Ia2 Algoritmos Clasificacion Vecindad
Agrupamiento Kmeans
Mineria de datos
Open Analytics - Minería de Datos con Knime
Introduccin_a_la_Minera_de_Datos_M_cc_v2.pptx
Tema 5 APLICACION DE TECNICAS DE APRENDIZAJE NO SUPERVISADO BLOQUE I v1.pdf
T1-AprendizajeAutomatico.pdf
Pass - Algoritmos de clasificacion
Clasificador_minima_distancia_aplicada.ppt
Clasificador_de_minima_distancia en imagenes.ppt
Machine Learning Inteligencia Artif.pptx
Machine Learning grup nteligencia a.pptx
Introducción al ML
Vecinos Proximos
Minería de Datos: Qué significa realmente y ejemplos de utilización
BigData 101 / Cursillo (Parte3)
Publicidad

Más de Facultad de Ciencias Económicas - Universidad Nacional de Cuyo (7)

DOCX
PDF
El algoritmo k nn y su importancia en el modelado de datos
PPTX
Mapa conceptual concepto i ntroductorios educacion
PDF
Estudio cualitativo sobre oferta y demanda de servicios educativos en el merc...
PDF
PPT
Perros Peligrosos En El Barrio La Estanzuela
El algoritmo k nn y su importancia en el modelado de datos
Mapa conceptual concepto i ntroductorios educacion
Estudio cualitativo sobre oferta y demanda de servicios educativos en el merc...
Perros Peligrosos En El Barrio La Estanzuela
Publicidad

El algoritmo k nn y su importancia en el modelado de datos

  • 1. El algoritmo K-NN y su importancia en el modelado de datos 12/1/2019 Lic. y Prof. Daniel CAVALLER Página 1 de 3 El algoritmo K-NN y su importancia en el modelado de datosi AD TECH & ANALYTICS 20 JULIO, 2018, Se lee en 3 minutos “Dime con quién vas y te diré quién eres” Este refrán rancio y conocido por todos, me da pie a comentar un algoritmo muy popular y utilizado en modelos de clasificación: el de los K vecinos más cercanos o K-NN (K Nearest Neighbours). Concepto La idea es realmente sencilla: el algoritmo clasifica cada dato nuevo en el grupo que corresponda, según tenga k vecinos más cerca de un grupo o de otro. Es decir, calcula la distancia del elemento nuevo a cada uno de los existentes, y ordena dichas distancias de menor a mayor para ir seleccionando el grupo al que pertenecer. Este grupo será, por tanto, el de mayor frecuencia con menores distancias. El K-NN es un algoritmo de aprendizaje supervisado, es decir, que a partir de un juego de datos inicial su objetivo será el de clasificar correctamente todas las instancias nuevas. El juego de datos típico de este tipo de algoritmos está formado por varios atributos descriptivos y un solo atributo objetivo (también llamado clase). ¿Cómo funciona? Ejemplo En contraste con otros algoritmos de aprendizaje supervisado, K-NN no genera un modelo fruto del aprendizaje con datos de entrenamiento, sino que el aprendizaje sucede en el mismo momento en el que se prueban los datos de test. A este tipo de algoritmos se les llama lazy learning methods y funciona como en este ejemplo: Pensemos en un juego de datos donde cada instancia se corresponde con un cliente de una entidad financiera. Para cada cliente conocemos una serie de atributos, como sus ingresos, gastos, patrimonio, edad, etc., también para cada cliente tenemos un atributo objetivo o clase que trataremos predecir: es o no apto para un préstamo personal. Sea D nuestro juego de datos en el que distinguimos la siguiente estructura: Donde dm indica cada una de las instancias del juego de datos (los clientes), am,n indica cada uno de los atributos descriptivos (ingresos, gastos, patrimonio, edad, etc.) y c indica el atributo objetivo o clase a predecir (es o no apto para un préstamo personal).
  • 2. El algoritmo K-NN y su importancia en el modelado de datos 12/1/2019 Lic. y Prof. Daniel CAVALLER Página 2 de 3 Para crear el modelo, partimos nuestro juego de datos D en dos partes aleatorias: una compuesta por el 70% que usaremos para entrenar, y otra por el 30% restante que usaremos para validar el modelo. En este punto, merece la pena comentar que puede llegar a producirse el efecto del sobre entrenamiento del modelo (overfitting), lo que provoca que el modelo que se construye, en lugar de describir las estructuras subyacentes del juego de datos, lo que acaba describiendo sea, exclusivamente, el juego de datos de entrenamiento no siendo extrapolable a otros juegos de datos. Fijamos un valor para k, habitualmente pequeño, y hacemos que el algoritmo compute una instancia d del juego de datos de prueba. Fruto de este proceso, el algoritmo selecciona las k instancias del juego de datos de entrenamiento más cercanas (de acuerdo con la métrica de similitud utilizada) y se asigna la instancia d a la clase más frecuente de entre las k instancias seleccionadas como más cercanas. Como vemos, sin duda, se trata de un algoritmo tremendamente simple pero con una buena efectividad. Destacar que K-NN es muy sensible a: • La variable k, de modo que con valores distintos de k podemos obtener resultados también muy distintos. Este valor suele fijarse tras un proceso de pruebas con varias instancias. • La métrica de similitud utilizada, puesto que esta influirá, fuertemente, en las relaciones de cercanía que se irán estableciendo en el proceso de construcción del algoritmo. La métrica de distancia puede llegar a contener pesos que nos ayudarán a calibrar el algoritmo de clasificación, convirtiéndola, de hecho, en una métrica personalizada. Vemos cómo influye el valor de k: Web Data Mining, de Bing Liu  Para k = 1 el algoritmo clasificará la bola con signo + como blanca;  Para k = 2 el algoritmo no tiene criterio para clasificar la bola con signo +;  Para k >= 3 el algoritmo clasificará la bola con signo + como negra. Su mayor debilidad es la lentitud en el proceso de clasificación puesto que su objetivo no es obtener un modelo optimizado, sino que cada instancia de prueba es comparada contra todo el juego de datos de entrenamiento y, será la bondad de los resultados lo que determinará el ajuste
  • 3. El algoritmo K-NN y su importancia en el modelado de datos 12/1/2019 Lic. y Prof. Daniel CAVALLER Página 3 de 3 aspectos del algoritmo como el propio valor k, del criterio de selección de instancias para formar parte del juego de datos “D” de entrenamiento o la propia métrica de medida de similitud. Finalmente, conoceremos la precisión del algoritmo a través de una evaluación de la matriz de confusión. En ella, se valorarán los verdaderos positivos, los falsos positivos, los positivos incorrectos, etc. Aplicaciones Este modelo se utiliza en data mining (minería de datos), por lo que su uso en aprendizaje automático (Machine Learning) es una de sus aplicaciones clave para, por ejemplo, sistemas de recomendación (plataformas de contenido digital, procesos de venta cruzada en eCommerce, etc.). Por último y, a modo de comentario, el concepto de los vecinos más cercanos es un importante factor en la física de estado sólido, ya que las propiedades de la materia se modifican en función de la estructura de las redes y las distancias entre los átomos. De hecho, es habitual hacer aproximaciones en los modelos físicos para despreciar aquellas partículas que no forman parte de los K vecinos más próximos. Proyecciones ¿Qué más casos de uso podrían plantearse con este tipo de modelo? ¿Qué Ciencias y cuáles campos de estas lo soportarían? ¿Cuáles son sus alcances y límites de aplicación en el desarrollo ingenieril de software? i Fuente web: https://www.analiticaweb.es/algoritmo-knn-modelado-datos/