Identifica Clusters con DBSCAN: Algoritmo paso a paso e implementación con Python

  Рет қаралды 14,677

Codigo Maquina

Codigo Maquina

Күн бұрын

Пікірлер: 39
@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
@samuelivannoya267
@samuelivannoya267 2 жыл бұрын
Sos un capo!!!!!!!!!!!!!!!!!!!!!!!! Muy bien explicado!!!! Muchas gracias!!! Saludos desde Chaco Argentina.
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Muchas gracias por tus comentarios. Un abrazo desde México :)
@diegohd4266
@diegohd4266 10 ай бұрын
¡Brutal algoritmo! Hasta se me antoja hacer mi tesis al respecto 😅
@ArturoDelgado-xk8qj
@ArturoDelgado-xk8qj Жыл бұрын
Gracia por el video! Explicas las cosas de una manera que resulta sencilla de entender!
@CodigoMaquina
@CodigoMaquina Жыл бұрын
@ArturoDelgado-xk8qj gracias por tus comentarios y un muy feliz año!!!
@adrianromancebrian1086
@adrianromancebrian1086 2 жыл бұрын
te descubro con este video, estudio ciencia de datos en la universidad de valencia. Muchas gracias por hacer el contenido tan facil de comprender, un saludoo. : )
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Bienvenido a esta comunidad Adrian, gracias por tu comentarios. Saludos!!
@guillermorosas3398
@guillermorosas3398 4 ай бұрын
es usted un master, explico algo complejo, con una sencillez, mis respetos!!
@CodigoMaquina
@CodigoMaquina 3 ай бұрын
Gracias por tus comentarios 😊
@SR_M0L1NA
@SR_M0L1NA 7 ай бұрын
Hace años hice una cosa similar sin conocer que existía este método. Epsilon lo definí como radio a partir del cual si un punto estaba dentro de ese radio pertenecía al mismo agrupamiento. Para calcular el radio (epsilon) lo hice escogiendo el mínimo entre el percentil 2 y la raiz cuadrada de la desviación típica de la matriz de distancias. No tuve en cuenta los puntos a escoger, sólo las distancias.
@jortigasperu
@jortigasperu Жыл бұрын
Gracias Profe..
@CodigoMaquina
@CodigoMaquina Жыл бұрын
José gracias por comentar y por seguir el contenido del canal :)
@joseleonardosanchezvasquez1514
@joseleonardosanchezvasquez1514 2 жыл бұрын
Genial como siempre, te comento que hubiera sido bueno ver los datos en un dataframe, solo para efectos de visualización. Pero la explicación muy buena. Por otro lado, disculpa leí el comentario que tenias pero no entendí mucho la respuesta a, la podrías desglosar un poco mas. Es sobre la pregunta del predict, es"" Otra opción que alguna vez leí es etiquetar una nueva instancia en función del punto CORE que esté más cerca "".
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Muchas gracias por tus comentarios. Esa respuesta está asociada a una pregunta de alguien que deseaba utilizar DBSCAN (una técnica no supervisada) como técnica de clasificación (supervisada) para etiquetar nuevos datos. Y sugerí que una opción podría ser simplemente asignarle la etiqueta del cluster más cercano, lo cual se traduce en asignarle la etiqueta del punto CORE más cercano.
@garcia3137
@garcia3137 10 ай бұрын
Excelente explicación!
@CodigoMaquina
@CodigoMaquina Ай бұрын
Muchas gracias por seguir el contenido del canal!!!
@guillermoucedacampos6130
@guillermoucedacampos6130 Жыл бұрын
Muy bien explicado. Me gustaría saber cómo puedo definir los parámetros eps y min _samples, comentaste que por experimentación, podrás dar alguna idea de cómo hacerlo? Gracias
@JenryLuis
@JenryLuis Жыл бұрын
Por experimentacion se refiere a que pruebes un rango de valores para eps y min_samples. Ejecutas varias veces con los diferentes valores. saludos!
@CodigoMaquina
@CodigoMaquina Жыл бұрын
Hola @guillermoucedacampos6130. Gracias por tus comentarios y por la pregunta. La respuesta de @JenryLuis aquí abajo es muy buena. Gracias por seguir el contenido del canal :)
@CodigoMaquina
@CodigoMaquina Жыл бұрын
@JenryLuis muchas gracias por apoyar a otras personas con sus dudas. Es una muy buena persona :)
@Chris-rc7vx
@Chris-rc7vx 2 жыл бұрын
Si usamos DBSCAN en los datos de entrenamiento ¿cómo le asignamos las etiquetas a nuevas observaciones(p.e. datos de validación)?
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Me encantó esta pregunta. Gracias por plantearla. DBSCAN en scikit-learn no tiene un método predict dado que no es un clasificador en sí. Sin embargo, esto no implica que no se puedan etiquetar nuevas instancias. Podríamos lograr ese objetivo indirectamente. Por ejemplo, con los resultados de los clusters se puede entrenar un clasificador y posteriormente con ese clasificador etiquetar nuevas instancias. Otra opción que alguna vez leí es etiquetar una nueva instancia en función del punto CORE que esté más cerca. Esto involucraría programar un poco pero no sería tan complicado dado que el mismo modelo de DBSCAN tiene un atributo que nos regresa los índices de todos los puntos CORES -> 'core_sample_indices_ '. Muchas gracias por hacer esta pregunta y por ver el canal :)
@Chris-rc7vx
@Chris-rc7vx 2 жыл бұрын
@@CodigoMaquina Muy interesante ambas alternativas me parece muy razonable la segunda, gracias por la respuesta. ¡Saludos!
@constanzaonetti5919
@constanzaonetti5919 Жыл бұрын
Hola, que pasa si me marca todos -1 (es decir todos ruido) que puede estar pasando?
@CodigoMaquina
@CodigoMaquina Жыл бұрын
Hola @constanzaonetti5919 gracias por la pregunta. Sin tener mucho contexto de tus datos y código ¿qué tal si pruebas diferentes valores de épsilon? Gracias por interactuar con el contenido del canal :)
@julianarturomejiaespitia4479
@julianarturomejiaespitia4479 Жыл бұрын
Buenas noches, si trabajo con mas de 2 variables, deberia realizar alguna reduccion de dimensionalidad? o como podria trabajar con DBSCAN para estos tipos de datos. Gracias
@CodigoMaquina
@CodigoMaquina Жыл бұрын
Julian gracias por la pregunta. Te comento que DBSCAN puede trabajar directamente con 2 o más variables/dimensiones. Aquí va un ejemplo para tres dimensiones: from sklearn.cluster import DBSCAN import numpy as np # creación de datos tridimensionales aleatorios np.random.seed(8) X = np.random.randn(90).reshape((30, 3)) # clusterización de los datos clustering = DBSCAN(eps=0.8, min_samples=2).fit(X) clustering.labels_
@elizabethguevara9534
@elizabethguevara9534 2 жыл бұрын
Como se hace cuándo te dan dos valores de x y no tenes una variable y. Por ejemplo un cliente tiene 2 coordendas x1 y x2 donde x1 es lo primero q ve y x2 lo segundo q ve en la pagina web. Me podria orientar
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
Elizabeth gracias por ver el contenido del canal y por tu pregunta. Sin conocer el contexto del proyecto, aquí van algunos comentarios que tal vez puedan ayudar. Un primer paso que se podría realizar sería definir una potencial hipótesis a explorar, es decir, en función de tus objetivos, plantea una pregunta (asociada a tus datos) que te gustaría responder. Por ejemplo, algunas preguntas podrían ser ¿existe en una relación entre x1 y x2? ¿existen agrupamientos entre los clientes en función de x1 y x2? Si tienes otros datos, por ejemplo, si el cliente realizó o no una compra, podrías preguntarte ¿si es posible diferenciar a los compradores de los no compradores en función de x1 y x2? Estas preguntas se definen a partir de tus objetivos de negocio, lo cual te ayudará a determinar el tipo de técnica a utilizar, por ejemplo: clasificación o clusterización.
@elizabethguevara9534
@elizabethguevara9534 2 жыл бұрын
@@CodigoMaquina solo tengo 2 datos x1 en coordenadas x lo primero que ve el cliente, x2 lo segundo q ve en coordenadas x tambien
@JhonDrock
@JhonDrock 10 ай бұрын
excelente
@CodigoMaquina
@CodigoMaquina Ай бұрын
Muchas gracias por seguir el contenido del canal!!!
@mauriciodiaz7467
@mauriciodiaz7467 10 ай бұрын
Suscrito
@CodigoMaquina
@CodigoMaquina Ай бұрын
Muchas gracias!
@pegazo1404881
@pegazo1404881 2 жыл бұрын
Dónde conseguir una base de 5 mil líneas para hacer un ejercicio similar?
@CodigoMaquina
@CodigoMaquina 2 жыл бұрын
El archivo que utilizo en este video lo puedes descargar de nuestro repositorio en github: github.com/CodigoMaquina/code/blob/main/datos/casas.csv Sin embargo, si deseas conocer muchos otros lugares donde podrías conseguir datos similares y más, te recomiendo echarle un ojo al siguiente video donde damos algunos tips: kzbin.info/www/bejne/onqzdKOGmZWMq6s
@pegazo1404881
@pegazo1404881 2 жыл бұрын
@@CodigoMaquina gracias, les escribí al Face
@alexanderfish9683
@alexanderfish9683 11 ай бұрын
en 1.5 evitas dormirte con su explicacion
K-Vecinos Más Cercanos (KNN) para Clasificación con Python
29:47
Codigo Maquina
Рет қаралды 19 М.
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
Sigma Kid Mistake #funny #sigma
00:17
CRAZY GREAPA
Рет қаралды 30 МЛН
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
3 Easy Steps to Understand and Implement Spectral Clustering in Python
20:04
k-means cluster paso a paso | Machine Learning para novatos
15:24
Economia con Manzanitas
Рет қаралды 26 М.
K-means algoritmo de clustering en python
20:30
Atecnea
Рет қаралды 4,8 М.
Clustering Jerárquico Aglomerativo (Explicación Matemática)
13:03
Rocio Chavez Ciencia de Datos
Рет қаралды 33 М.
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН