👉 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
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. : )
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.
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 "".
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.
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
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 :)
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 :)
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 :)
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
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_
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
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.
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: ruclips.net/video/lIPCpPd0YuI/видео.html
👉 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
Sos un capo!!!!!!!!!!!!!!!!!!!!!!!! Muy bien explicado!!!! Muchas gracias!!! Saludos desde Chaco Argentina.
Muchas gracias por tus comentarios. Un abrazo desde México :)
¡Brutal algoritmo! Hasta se me antoja hacer mi tesis al respecto 😅
Gracia por el video! Explicas las cosas de una manera que resulta sencilla de entender!
@ArturoDelgado-xk8qj gracias por tus comentarios y un muy feliz año!!!
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. : )
Bienvenido a esta comunidad Adrian, gracias por tu comentarios. Saludos!!
es usted un master, explico algo complejo, con una sencillez, mis respetos!!
Gracias por tus comentarios 😊
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.
Gracias Profe..
José gracias por comentar y por seguir el contenido del canal :)
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 "".
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.
Excelente explicación!
Muchas gracias por seguir el contenido del canal!!!
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
Por experimentacion se refiere a que pruebes un rango de valores para eps y min_samples. Ejecutas varias veces con los diferentes valores. saludos!
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 :)
@JenryLuis muchas gracias por apoyar a otras personas con sus dudas. Es una muy buena persona :)
Si usamos DBSCAN en los datos de entrenamiento ¿cómo le asignamos las etiquetas a nuevas observaciones(p.e. datos de validación)?
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 :)
@@CodigoMaquina Muy interesante ambas alternativas me parece muy razonable la segunda, gracias por la respuesta. ¡Saludos!
Hola, que pasa si me marca todos -1 (es decir todos ruido) que puede estar pasando?
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 :)
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
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_
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
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.
@@CodigoMaquina solo tengo 2 datos x1 en coordenadas x lo primero que ve el cliente, x2 lo segundo q ve en coordenadas x tambien
excelente
Muchas gracias por seguir el contenido del canal!!!
Suscrito
Muchas gracias!
Dónde conseguir una base de 5 mil líneas para hacer un ejercicio similar?
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:
ruclips.net/video/lIPCpPd0YuI/видео.html
@@CodigoMaquina gracias, les escribí al Face
en 1.5 evitas dormirte con su explicacion