K-means (o K-medias) para detección de Clusters: Algoritmo e implementación con Python

  Рет қаралды 23,636

Codigo Maquina

Codigo Maquina

Күн бұрын

Пікірлер: 89
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
👉 Xiperia ofrece consultoría empresarial que transforma datos en conocimiento accionable para alcanzar los objetivos de tu negocio. Conoce más en www.xiperia.com
@crsmoran
@crsmoran 9 ай бұрын
una bestia, no pudo haber quedado mejor explicado, mis felicitaciones!! El canal es oro puro
@gocpaz
@gocpaz 15 күн бұрын
Excelente explicacion, como dijo Einstein "Si no lo puedes explicar de forma sencilla, es que no lo has entendido bien" , gracias por la explicación clara
@stickmanx9918
@stickmanx9918 2 күн бұрын
nunca dijo eso ni ninguna de las frases que le atribuyen pero igual es cierto
@emmanuelpena2653
@emmanuelpena2653 2 жыл бұрын
A eso le llamo tener verdadera vocación y amor por enseñar, aun con estudiar de forma autodidacta he aprendido mucho en tu canal, gracias por compartirnos tu conocimiento de una forma tan comprensible.
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Muchas gracias por escribirnos palabras tan bonitas. Es muy gratificante leerlas :)
@IgnacioMajo
@IgnacioMajo 11 ай бұрын
Sinceramente un espectaculo. Todo explicado con claridad, de manera simple. Me ayudó un monton. Muchas gracias!
@CodigoMaquina
@CodigoMaquina 10 ай бұрын
@user-kt9jr3dw2q muchas gracias por tus comentarios. Feliz año!!!
@virginiatenoriovelasquez2019
@virginiatenoriovelasquez2019 Жыл бұрын
No le entendía a mi profe y estaba un poco desganada y econtré esta maravilla. Mil gracias :3
@CodigoMaquina
@CodigoMaquina Жыл бұрын
@virginiatenoriovelasquez2019 muchas gracias por tus comentarios :)
@ivan-rivera
@ivan-rivera Жыл бұрын
Este video, junto con el video acerca de KNN, me ha salvado la vida en una tarea que tenia que presentar. Mas que por los archivos, es el hecho de que entendi claramente de que se trata. Son pocas las personas que explican tan facil, algo que es complejo. Felicitaciones.
@CodigoMaquina
@CodigoMaquina Жыл бұрын
Ivan muchas gracias por tus palabras. Es un placer leer que los videos aportan aunque sea un poco con la formación de las personas. Esa es la razón de ser de este canal :)
@mauriciojimenez4022
@mauriciojimenez4022 Жыл бұрын
Recomiendo ampliamente el canal, el video y al ponente, muy digeribles lo que aporta el canal , muy valioso!
@CodigoMaquina
@CodigoMaquina 10 ай бұрын
@mauriciojimenez4022 muchas gracias por las recomendaciones y un muy feliz año!!!
@luisalbertoivetta1731
@luisalbertoivetta1731 2 жыл бұрын
La claridad con la que explicas los temas es realmente sorprendente!!! Felicitaciomes
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
¡Muchas gracias por tus comentarios! :)
@JoseTallarico
@JoseTallarico 3 ай бұрын
Hola Octavio, muchas gracias por compartir tu conocimiento y ademas destacto tu forma de desarrollar y explicar el contenido, realmente brillante. Cordial saludo desde Argentina!!
@jhonchavez6669
@jhonchavez6669 Жыл бұрын
Octavio muchas gracias por tus enseñanzas, tu explicación es muy clara.
@CodigoMaquina
@CodigoMaquina Жыл бұрын
@jhonchavez6669 te agradezco mucho tus comentarios. Dando like, comentando y/o compartiendo el video, ayudas a que este contenido llegue a más personas ¡¡¡GRACIAS!!!
@ernestopetinozappala3885
@ernestopetinozappala3885 Жыл бұрын
Excelente video, me resultó de gran ayuda para mi tesis de licenciatura.
@CodigoMaquina
@CodigoMaquina Жыл бұрын
Muchas gracias por tu comentario. Me da mucho gusto leer que lo videos son de utilidad :)
@elopezudec
@elopezudec Ай бұрын
Excelente felicitaciones súper
@CodigoMaquina
@CodigoMaquina Ай бұрын
¡Muchas gracias!
@juancarlosroa8761
@juancarlosroa8761 Жыл бұрын
Wuaoo eres el mejor, despues de ver 1 video me siento un data scientist 😊
@CodigoMaquina
@CodigoMaquina Жыл бұрын
Juan Carlos muchas gracias por tus palabras :)
@sergiohernanvazquez6469
@sergiohernanvazquez6469 2 жыл бұрын
Muchas gracias Octavio. Muy clara toda la explicación !!
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Es un placer leer que el video es de utilidad. Gracias por comentar :)
@alberthpinco3543
@alberthpinco3543 3 ай бұрын
Que buena explicación muchas gracias
@CodigoMaquina
@CodigoMaquina 3 ай бұрын
Muchas gracias por comentar!!!
@klebermezones8820
@klebermezones8820 7 ай бұрын
por fin pude entender, así me gusta aprender con poquitos datos, y no importando datasets de sklearn con datos gigantes que ni entiendo.
@diegomoller7318
@diegomoller7318 2 жыл бұрын
Simplemente felicitarte, es el primer video que veo de ti. Siempre me estoy capacitando en esta área y eres súper claro para explicar, tu material vale oro. Saludos.
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Muchas gracias por todos tus comentarios. Es muy gratificante escuchar que los videos son de utilidad. Gracias por seguir el canal :)
@diegohd4266
@diegohd4266 8 ай бұрын
¡Qué buen vídeo! Un tema muy interesante explicado de forma clara y concisa.
@SantiagoMatiasMartinez-p3i
@SantiagoMatiasMartinez-p3i 9 ай бұрын
que gran clase profesor, la verdad explica genial, felicidades
@victorgarcia-wn9yt
@victorgarcia-wn9yt 6 ай бұрын
Mas claro , ponerle agua. Excelente. Gracias. Una consulta. Cuando hace append de las etiquetas al df de clientes , ¿como sabe que cada etiqueta corresponde exactaente a cada cliente? ¿cómo engancha ambas tablas de datos? saludos
@omarsharim6253
@omarsharim6253 2 жыл бұрын
Eres un profesional, felicidades, gran trabajo
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Muchas gracias por tus comentarios :)
@carlosf.2927
@carlosf.2927 3 ай бұрын
Demasiado bien explicado!! gracias.
@CodigoMaquina
@CodigoMaquina 3 ай бұрын
Muchas gracias!!!!
@rafaelmejia2803
@rafaelmejia2803 2 жыл бұрын
Gracias por compartir, tus vídeos son de mucha utilidad!
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Muchas gracias por tus comentarios :)
@edwardbrandt4868
@edwardbrandt4868 5 ай бұрын
Hola Octavio, un gran video al explicar el algoritmo k-means de clustering. Sin embargo, me gustaría saber porque se uso solo una métrica para medir la calidad del algoritmo, en este caso "Inercia". Según entiendo en la practica debiese mostrarse a lo menos 2 mas como "SSE" o el "Coeficiente de Silueta". Por otra parte, la conclusión es del video es que el método permitió encontrar 3 tipos de clientes. Fuera de lo mencionado anteriormente, que otra conclusión se obtiene de este tipo de análisis. Lo comento porque busco usarlo, peor quiero tener la certeza que podre sacar información valiosa de esto. Además de lo anterior, entiendo que K-means es susceptible a datos atípicos, los cuales deberían eliminarse. Agradeceré tus comentarios...un abrazo a la distancia.
@guillermosilva1527
@guillermosilva1527 2 жыл бұрын
Excelente video.
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
¡Muchas gracias por escribirnos!
@KenyaVega-v5b
@KenyaVega-v5b 7 ай бұрын
excelente explicacion. muchas gracias por subir estos videos
@daanaortiz8303
@daanaortiz8303 2 жыл бұрын
muy bien explicado, como se aplicaría si tenemos mas de dos variables independientes y una variable dependiente como se harían los conjuntos de patrones
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Muchas gracias por tu comentario y por la pregunta. En particular, K-means es una técnica de aprendizaje de máquina no supervisado, es decir, en este caso no se hace distinción explícita entre variables dependientes e independientes. No obstante, sí se pueden incluir los datos correspondientes a variables independientes y dependientes, pero k-means les da exactamente el mismo trato. Cabe mencionar que el ejemplo del video está en dos dimensiones, sin embargo, k-means también trabaja con tres o más dimensiones. Muchas gracias por seguir el contenido del canal :)
@YouTubeMinchi
@YouTubeMinchi Жыл бұрын
Que excelente explicación!
@CodigoMaquina
@CodigoMaquina Жыл бұрын
@aragon391123 te agradezco mucho tu comentario. Dando like, comentando y/o compartiendo el video, ayudas a que este contenido llegue a más personas ¡¡¡GRACIAS!!!
@PedroChavez
@PedroChavez Жыл бұрын
Gracias campeón....
@CodigoMaquina
@CodigoMaquina Жыл бұрын
Muchas gracias Pedro!
@gustavojuantorena
@gustavojuantorena 2 жыл бұрын
Excelente explicación!
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
¡Gracias por tu comentario y por seguir al canal! :)
@Luk17a5
@Luk17a5 Жыл бұрын
Muchísimas gracias Octavio!! Una consulta...un k muy grande estaría en situación de overfitting no??
@CodigoMaquina
@CodigoMaquina Жыл бұрын
Lucas gracias por tus comentarios y pregunta. El valor "apropiado" de k está enteramente asociado al dominio del problema y por supuesto a los datos. En algunos casos un valor relativamente pequeño será adecuado, en otros casos uno relativamente grande. Ahora sí que se determina en función de experimentación y acompañado de un experto en el negocio sobre cual se está creando el modelo. Gracias por interactuar con el contenido del canal :)
@juanpablocruz6225
@juanpablocruz6225 2 жыл бұрын
Excelente video Octavio gracias por la dedicación al exponer conceptos y técnicas, tenía un par de preguntas. ¿Es posible crear clases o etiquetas a partir de clustering como mencionabas por ejemplo saldos en cuenta: alto, medio, bajo? Y ¿Además de segmentar y darle una aplicación según el contexto que se analice qué otras aplicaciones tiene el clustering?. Nuevamente gracias, un cordial saludo.
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Muchas por tus comentarios y por tus preguntas. Con respecto a la primera pregunta: "¿Es posible crear clases o etiquetas a partir de clustering como mencionabas por ejemplo saldos en cuenta: alto, medio, bajo?" Sí sería posible asignar clases a los clusters detectados aunque normalmente eso ya se haría con conocimiento del negocio. Con respecto a la segunda pregunta "¿Además de segmentar y darle una aplicación según el contexto que se analice qué otras aplicaciones tiene el clustering?" En algunos casos también se puede utilizan para limpiar los datos (es decir, detectar el ruido en los datos) tal es el caso de la técnica DBSCAN (aquí va un video: kzbin.info/www/bejne/fn7MpGtvoayXoaM). Gracias por ver el canal e interactuar :)
@tomasscopelliti9362
@tomasscopelliti9362 2 жыл бұрын
Buenas tardes. Antes que nada, muchas gracias por tu video. Muy bien explicado! Tengo una duda. Dentro del bucle for, dentro del grafico scatter tener [saldo] y otra de [transacciones]. En el caso de tener mas columnas, como se haría? Porque solo se aceptan dos parámetros. Recién estoy empezando en todo esto, perdón si lo explicaste y no lo entendí.
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Muchas gracias por tus comentarios y por el interés en el tema. Los clusters todavía se podrían graficar con tres dimensiones, sin embargo, para el caso general, es decir, cuatro o más dimensiones ya no se pueden graficar sin 'modificar' los datos. Para esto hay técnicas relativamente avanzadas para tratar los datos, los cuales hacen una reducción de la dimensionalidad aunque perdiendo cierta información. Si te interesa el tema, te recomiendo que le eches un ojo a la técnica de análisis de componentes de principales. Aquí va uno de nuestros videos: kzbin.info/www/bejne/rl6ac3uggqZka68
@tomasscopelliti9362
@tomasscopelliti9362 2 жыл бұрын
@@CodigoMaquina Muchas gracias por tu respuesta! Tambien aprovecho a agradecerte todo el trabajo que haces. Este material vale oro. Saludos desde Arg
@martintusco3129
@martintusco3129 Жыл бұрын
Hola Octavio. Felicidades explicas muy bien. Te sigo y likes. Estoy trabajando en una tesis, y me gustaría saber como vuelvo a los valores con las Unidades Medidas Originales. (Transforrmación Inversa). Me interesa para extraer los CENTROIDES en valores reales del caso. Muchas Gracias
@CodigoMaquina
@CodigoMaquina Жыл бұрын
Martín muchas gracias por tus comentarios. Con respecto a tu pregunta, las mismas clases de MinMaxScaler y StandardScaler tienen un método llamado inverse_transform() que justo realiza la transformación inversa de los valores. Gracias por seguir el contenido del canal :)
@johnalexcasanacruzado4673
@johnalexcasanacruzado4673 Жыл бұрын
Buen video!
@CodigoMaquina
@CodigoMaquina 10 ай бұрын
@johnalexcasanacruzado4673 gracias. Feliz Año!
@gabrieleliaschanchigolondr9476
@gabrieleliaschanchigolondr9476 2 жыл бұрын
Gracias por compartir, excelente explicación. Ofrecen algún curso o taller de manera virtual?
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Muchas gracias por tus comentarios y por tu interés en potenciales cursos o talleres. Al respecto, nosotros tenemos la esperanza que con la inclusión de cada vez más videos en el canal, podamos crear un apoyo a la formación autodidáctica de las personas de forma autónoma e independiente. Llevará su tiempo pero lo vamos a lograr :)
@fredyhuaynacho1403
@fredyhuaynacho1403 2 жыл бұрын
En el caso que quisiera aplicar para datos con coordenadas X, Y, Z, y que estos coordenadas son la ubicación de muestras de Oro, cobre y plata, y otros elementos más, y quisiera agrupar tomando en cuenta que puntos están cerca, pero también que esos datos sea similar en cuanto a los elementos como podría ser el oro o la plata
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Gracias por tu pregunta. Primero, confirmo que K-means puede trabajar con datos de tres dimensiones (X, Y, Z) o más. Si deseas agrupar también en función de un criterio adicional, lo que tendrías que hacer es agregar una dimensión más (W, X, Y, Z). En esa dimensional adicional tendrías que codificar la relación de similitud entre los elementos. Espero que la respuesta ayude aunque sea un poco :)
@darkstyllv9251
@darkstyllv9251 Жыл бұрын
Muchas gracias Octavii. Una pregunta. Una vez que generamos por ejemplo dos cluster en el dataset, se debe implementar otros algoritmos de aprendizaje supervisado? (Ya que tendriamos una variable dependiente),o no es necesario? Muchas gracias
@CodigoMaquina
@CodigoMaquina Жыл бұрын
Hola @darkstyllv9251 gracias por tu pregunta tan interesante. Los clusters identificados en algunas ocasiones sí se llegan a utilizar para etiquetar/clasificar más instancias en algún tipo de aprendizaje semi-supervisado. En muchas otras ocasiones simplemente se utiliza para analizar los datos y presentarlos a las partes interesadas para ver qué valor de negocio podría llegar a tener la segmentación de los datos. Gracias por interactuar con el contenido del canal :)
@luisarturoaguilartorres3735
@luisarturoaguilartorres3735 2 жыл бұрын
Crack!
@CodigoMaquina
@CodigoMaquina Жыл бұрын
¡Muchas gracias!
@joseleonardosanchezvasquez1514
@joseleonardosanchezvasquez1514 2 жыл бұрын
Como siempre muy buena explicación, pero quiero hacerte tres comentarios 1. Creo que la cantidad de datos que usaste es muy pequeña para logar bien el efecto del codo 2. Seria bueno que hubieras colocado las formulas de centroide, aunque es sencilla y también la formula de la inercia y 3. seria bueno completarlo con la métrica de la silueta que es cantante buena. Pero como siempre todo muy bueno felicitaciones
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Como siempre muchas por tus comentarios y todas las sugerencias. De hecho, en verdad agradezco tus interacciones y las interacciones de todas las personas. Estoy seguro que las mismas preguntas aportan a futuros visitantes del video, les da una perspectiva más completa de la técnica o tema que se está explicando :)
@inesramireztusseddu1570
@inesramireztusseddu1570 Жыл бұрын
Hola, me encantan tus videos, te queria preguntar si dictas cursos en ciencia de datos?
@CodigoMaquina
@CodigoMaquina Жыл бұрын
Te agradecemos mucho el interés en cursos especializados. Sin embargo, no ofrecemos "cursos". Nuestro objetivo es que poco a poco podamos tener tantos videos como sea posible sobre ciencia de datos y machine learning para brindar herramientas que puedan apoyar el desarrollo autodidacta de las personas. ¡Te deseamos lo mejor en tu preparación! :)
@fredyhuaynacho1403
@fredyhuaynacho1403 2 жыл бұрын
una consulta, en el caso que los datos tengan coordenadas X,Y,Z ( 3D) para un valor de un elemento por ejemplo %Cu, como seria??? gracias de antemano por la respuesta que me pudiera dar. soy de la carrera de ing. geológica
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Gracias por la pregunta. Sería prácticamente el mismo proceso para 3 dimensiones. De hecho, k-means funciona para n dimensiones. Lo único que tendrías que hacer sería pasar los tres vectores de datos. Te recomiendo descargar el código de nuestro repositorio de GitHub y agregar una columna más ó mejor aún agregar tus datos y ver el resultado. Solo recuerda que es muy importante que los datos estén escalados. Aquí va el vínculo al código: github.com/CodigoMaquina/code/blob/main/machine_learning_python/k-medias.ipynb Gracias por ver el canal :)
@fredyhuaynacho1403
@fredyhuaynacho1403 2 жыл бұрын
En el caso que quisiera aplicar para datos con coordenadas X, Y, Z, y que estos coordenadas son la ubicación de muestras de Oro, cobre y plata, y otros elementos más, y quisiera agrupar tomando en cuenta que puntos están cerca, pero también de esos datos sea similar en cuanto a los elementos como podría ser el oro o la plata
@jortigasperu
@jortigasperu Жыл бұрын
buenas, una consultita.. los centroides son puntos aleatorios del plano cartesiano o como es que aparecen?, gracias!!
@CodigoMaquina
@CodigoMaquina Жыл бұрын
Estimado José gracias por la pregunta. En la versión más simple de K-means, la posición inicial de los centroides es aleatoria (justo como lo indicas) aunque debo mencionar que existen optimizaciones de K-means donde ya no es así. Sigue con ese interés por estos temas :)
@jortigasperu
@jortigasperu Жыл бұрын
@@CodigoMaquina gracias..
@jortigasperu
@jortigasperu Жыл бұрын
hola Octavio, una consulta.. cuando se tienen más características más de 2, como es que se calculan las distancias? gracias y saludos!!
@CodigoMaquina
@CodigoMaquina 10 ай бұрын
@jortigasperu en el contexto de clustering existen diferentes tipos de distancias y muchas de ellas están definidas para dos o más dimensiones/características. Aquí va un video sobre distancias en clustering kzbin.info/www/bejne/Z5iXapytgNeJY7c
@enmanuelruiz544
@enmanuelruiz544 Жыл бұрын
- Ya que K-means trabaja en basa números ¿Funcionaría con datos categóricos representados con números, es decir sexo: 1 o 2? - Si nos apoyamos en la normalización estos datos deberían tener la misma importancia sin importar lo pequeños que sean.
@CodigoMaquina
@CodigoMaquina Жыл бұрын
Gracias por la pregunta. Efectivamente, los datos categóricos se pueden convertir a datos numéricos y a partir de ahí se puede utilizar K-Means. Además, ciertamente, la estandarización y/o escalamiento de los datos es un proceso que comúnmente se realiza antes de introducir los datos a K-means. Gracias por interactuar en el canal :)
@enmanuelruiz544
@enmanuelruiz544 Жыл бұрын
@@CodigoMaquina muchas gracias. Gracias a la explicación del video cree mi propia librería de kMeans en C#. Lo único con lo que no he podido dar es en cómo calcular la inercia del modelo. ¿Me explicarías?
@erikarmenta1110
@erikarmenta1110 Жыл бұрын
Porque a mi me sale error al cargar el dataframe
@CodigoMaquina
@CodigoMaquina 10 ай бұрын
@erikarmenta1110 podrían ser múltiples factores. Te recomiendo descargar el código de nuestro repositorio para descartar errores de sintaxis: github.com/CodigoMaquina/code/blob/main/machine_learning_python/k-medias.ipynb
龟兔赛跑:好可爱的小乌龟#short #angel #clown
01:00
Super Beauty team
Рет қаралды 118 МЛН
Fake watermelon by Secret Vlog
00:16
Secret Vlog
Рет қаралды 37 МЛН
Who's spending her birthday with Harley Quinn on halloween?#Harley Quinn #joker
01:00
Harley Quinn with the Joker
Рет қаралды 7 МЛН
K-Means Clustering with Python
26:53
Rocio Chavez Ciencia de Datos
Рет қаралды 80 М.
K-Means Clustering From Scratch in Python (Mathematical)
33:10
NeuralNine
Рет қаралды 34 М.
k-means cluster paso a paso | Machine Learning para novatos
15:24
Economia con Manzanitas
Рет қаралды 24 М.
Clustering con K-Means. Explicación Matemática y Mucho más…
27:10
Rocio Chavez Ciencia de Datos
Рет қаралды 28 М.
K-Vecinos Más Cercanos (KNN) para Regresión con Python
23:22
Codigo Maquina
Рет қаралды 6 М.
龟兔赛跑:好可爱的小乌龟#short #angel #clown
01:00
Super Beauty team
Рет қаралды 118 МЛН