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

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

Fundamentos Minería Datos
Fundamentos Minería DatosFundamentos Minería Datos
Fundamentos Minería Datos
Victor Jaime Polo Romero
 
Machine learning for business
Machine learning for businessMachine learning for business
Machine learning for business
Fran Castillo
 
Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...
Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...
Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...
JCarlos Gonzalez Joyé
 
slides-espanol-curso-introduccion-machine-learning-por-mindsdb_8c5ff985-0581-...
slides-espanol-curso-introduccion-machine-learning-por-mindsdb_8c5ff985-0581-...slides-espanol-curso-introduccion-machine-learning-por-mindsdb_8c5ff985-0581-...
slides-espanol-curso-introduccion-machine-learning-por-mindsdb_8c5ff985-0581-...
elianatorales
 
Modelamiento predictivo en Analítica Predictiva
Modelamiento predictivo en Analítica PredictivaModelamiento predictivo en Analítica Predictiva
Modelamiento predictivo en Analítica Predictiva
LPI ONG
 
Algoritmos - Jordi Gironés Roig
Algoritmos - Jordi Gironés RoigAlgoritmos - Jordi Gironés Roig
Algoritmos - Jordi Gironés Roig
Drakho Firesoul
 
MÉTRICAS PARA ASEGURAR LA CALIDAD DEL SOFTWARE
MÉTRICAS PARA ASEGURAR LA CALIDAD DEL SOFTWAREMÉTRICAS PARA ASEGURAR LA CALIDAD DEL SOFTWARE
MÉTRICAS PARA ASEGURAR LA CALIDAD DEL SOFTWARE
David Leon Sicilia
 
Uso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitosUso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitos
jfrchicanog
 
Bases de datos ss14
Bases de datos ss14Bases de datos ss14
Bases de datos ss14
Educaciontodos
 
4.data mining
4.data mining4.data mining
Técnicas de análisis: Clustering
Técnicas de análisis: ClusteringTécnicas de análisis: Clustering
Técnicas de análisis: Clustering
Rafael Morales
 
01_Método No Supervisado y Aprendizaje K-Means.pptx
01_Método No Supervisado y Aprendizaje K-Means.pptx01_Método No Supervisado y Aprendizaje K-Means.pptx
01_Método No Supervisado y Aprendizaje K-Means.pptx
RafexoMamani
 
Joakin simulacion
Joakin simulacionJoakin simulacion
Joakin simulacion
miguelonsanchez
 
Algoritmos Evolutivos
Algoritmos EvolutivosAlgoritmos Evolutivos
Algoritmos Evolutivos
diego danilo guaman
 
ETAPAS DEL PROCESO DE SIMULACION
ETAPAS DEL PROCESO DE SIMULACIONETAPAS DEL PROCESO DE SIMULACION
ETAPAS DEL PROCESO DE SIMULACION
Anibal Alejandro Gomez Garcia
 
Construir y consumir un modelo de Regresión Lineal con ML.NET y Angular
Construir y consumir un modelo de Regresión Lineal con ML.NET y AngularConstruir y consumir un modelo de Regresión Lineal con ML.NET y Angular
Construir y consumir un modelo de Regresión Lineal con ML.NET y Angular
Cristopher Coronado Moreira
 
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
Flat 101
 
Examen Parcial 2
Examen Parcial 2Examen Parcial 2
Examen Parcial 2
Alexander Ulloa
 
Examen parcial 2
Examen parcial 2Examen parcial 2
Examen parcial 2
Jonathan Llerena Stifler
 
actividad de perfiles de facebook en la ciudad de loja- Mineria de Datos
actividad de perfiles de facebook en la ciudad de loja- Mineria de Datosactividad de perfiles de facebook en la ciudad de loja- Mineria de Datos
actividad de perfiles de facebook en la ciudad de loja- Mineria de Datos
Lizzb3 Betancourt
 

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

Fundamentos Minería Datos
Fundamentos Minería DatosFundamentos Minería Datos
Fundamentos Minería Datos
 
Machine learning for business
Machine learning for businessMachine learning for business
Machine learning for business
 
Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...
Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...
Modelos predictivos para el sector asegurador usando datos masivos (Big Data ...
 
slides-espanol-curso-introduccion-machine-learning-por-mindsdb_8c5ff985-0581-...
slides-espanol-curso-introduccion-machine-learning-por-mindsdb_8c5ff985-0581-...slides-espanol-curso-introduccion-machine-learning-por-mindsdb_8c5ff985-0581-...
slides-espanol-curso-introduccion-machine-learning-por-mindsdb_8c5ff985-0581-...
 
Modelamiento predictivo en Analítica Predictiva
Modelamiento predictivo en Analítica PredictivaModelamiento predictivo en Analítica Predictiva
Modelamiento predictivo en Analítica Predictiva
 
Algoritmos - Jordi Gironés Roig
Algoritmos - Jordi Gironés RoigAlgoritmos - Jordi Gironés Roig
Algoritmos - Jordi Gironés Roig
 
MÉTRICAS PARA ASEGURAR LA CALIDAD DEL SOFTWARE
MÉTRICAS PARA ASEGURAR LA CALIDAD DEL SOFTWAREMÉTRICAS PARA ASEGURAR LA CALIDAD DEL SOFTWARE
MÉTRICAS PARA ASEGURAR LA CALIDAD DEL SOFTWARE
 
Uso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitosUso de CMSA para resolver el problema de selección de requisitos
Uso de CMSA para resolver el problema de selección de requisitos
 
Bases de datos ss14
Bases de datos ss14Bases de datos ss14
Bases de datos ss14
 
4.data mining
4.data mining4.data mining
4.data mining
 
Técnicas de análisis: Clustering
Técnicas de análisis: ClusteringTécnicas de análisis: Clustering
Técnicas de análisis: Clustering
 
01_Método No Supervisado y Aprendizaje K-Means.pptx
01_Método No Supervisado y Aprendizaje K-Means.pptx01_Método No Supervisado y Aprendizaje K-Means.pptx
01_Método No Supervisado y Aprendizaje K-Means.pptx
 
Joakin simulacion
Joakin simulacionJoakin simulacion
Joakin simulacion
 
Algoritmos Evolutivos
Algoritmos EvolutivosAlgoritmos Evolutivos
Algoritmos Evolutivos
 
ETAPAS DEL PROCESO DE SIMULACION
ETAPAS DEL PROCESO DE SIMULACIONETAPAS DEL PROCESO DE SIMULACION
ETAPAS DEL PROCESO DE SIMULACION
 
Construir y consumir un modelo de Regresión Lineal con ML.NET y Angular
Construir y consumir un modelo de Regresión Lineal con ML.NET y AngularConstruir y consumir un modelo de Regresión Lineal con ML.NET y Angular
Construir y consumir un modelo de Regresión Lineal con ML.NET y Angular
 
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
 
Examen Parcial 2
Examen Parcial 2Examen Parcial 2
Examen Parcial 2
 
Examen parcial 2
Examen parcial 2Examen parcial 2
Examen parcial 2
 
actividad de perfiles de facebook en la ciudad de loja- Mineria de Datos
actividad de perfiles de facebook en la ciudad de loja- Mineria de Datosactividad de perfiles de facebook en la ciudad de loja- Mineria de Datos
actividad de perfiles de facebook en la ciudad de loja- Mineria de Datos
 

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

Smart management for the public sector
Smart management for the public sectorSmart management for the public sector
El algoritmo k nn y su importancia en el modelado de datos
El algoritmo k nn y su importancia en el modelado de datosEl algoritmo k nn y su importancia en el modelado de datos
El algoritmo k nn y su importancia en el modelado de datos
Facultad de Ciencias Económicas - Universidad Nacional de Cuyo
 
Mapa conceptual concepto i ntroductorios educacion
Mapa conceptual concepto i ntroductorios educacionMapa conceptual concepto i ntroductorios educacion
Mapa conceptual concepto i ntroductorios educacion
Facultad de Ciencias Económicas - Universidad Nacional de Cuyo
 
1er test números complejos
1er test números complejos1er test números complejos
Estudio cualitativo sobre oferta y demanda de servicios educativos en el merc...
Estudio cualitativo sobre oferta y demanda de servicios educativos en el merc...Estudio cualitativo sobre oferta y demanda de servicios educativos en el merc...
Estudio cualitativo sobre oferta y demanda de servicios educativos en el merc...
Facultad de Ciencias Económicas - Universidad Nacional de Cuyo
 
Trabajo Auditoría de Sistemas FCE 2006
Trabajo Auditoría de Sistemas FCE 2006Trabajo Auditoría de Sistemas FCE 2006
Perros Peligrosos En El Barrio La Estanzuela
Perros Peligrosos En El Barrio La EstanzuelaPerros Peligrosos En El Barrio La Estanzuela
Perros Peligrosos En El Barrio La Estanzuela
Facultad de Ciencias Económicas - Universidad Nacional de Cuyo
 

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

Smart management for the public sector
Smart management for the public sectorSmart management for the public sector
Smart management for the public sector
 
El algoritmo k nn y su importancia en el modelado de datos
El algoritmo k nn y su importancia en el modelado de datosEl algoritmo k nn y su importancia en el modelado de datos
El algoritmo k nn y su importancia en el modelado de datos
 
Mapa conceptual concepto i ntroductorios educacion
Mapa conceptual concepto i ntroductorios educacionMapa conceptual concepto i ntroductorios educacion
Mapa conceptual concepto i ntroductorios educacion
 
1er test números complejos
1er test números complejos1er test números complejos
1er test números complejos
 
Estudio cualitativo sobre oferta y demanda de servicios educativos en el merc...
Estudio cualitativo sobre oferta y demanda de servicios educativos en el merc...Estudio cualitativo sobre oferta y demanda de servicios educativos en el merc...
Estudio cualitativo sobre oferta y demanda de servicios educativos en el merc...
 
Trabajo Auditoría de Sistemas FCE 2006
Trabajo Auditoría de Sistemas FCE 2006Trabajo Auditoría de Sistemas FCE 2006
Trabajo Auditoría de Sistemas FCE 2006
 
Perros Peligrosos En El Barrio La Estanzuela
Perros Peligrosos En El Barrio La EstanzuelaPerros Peligrosos En El Barrio La Estanzuela
Perros Peligrosos En El Barrio La Estanzuela
 

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/