es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

DBSCAN con un vecindario más grande

Estoy utilizando sklearn.cluster.DBSCAN en mi conjunto de datos. Sin embargo, tiende a clasificar algunos de mis puntos de datos como ruido, aunque no lo sean. Sin embargo, si aumento aún más eps, comenzará a fusionar clústeres no relacionados. Pensé que mi mejor intento sería mantener la fase de agrupamiento igual, pero aumentar el rango permitido para la fase de “búsqueda de vecinos”. ¿Existe esa posibilidad? Mi único otro enfoque sería construir un kd-tree de todos los puntos que no son ruido y, para cada punto de ruido, buscar el punto no ruido más cercano y evaluar si pertenecen juntos. Sin embargo, por supuesto, sería mejor si esto funcionara de manera integrada.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una posibilidad de aumentar el rango de la fase de “búsqueda de vecinos” sin cambiar la fase de agrupamiento en sklearn.cluster.DBSCAN. Esto se puede hacer ajustando el parámetro min_samples a un valor mayor. Aumentar min_samples significa que se necesitan más puntos para que un grupo sea reconocido como tal. Esto aumentará la probabilidad de que los puntos de datos sean asignados a un grupo en lugar de ser clasificados como ruido. Sin embargo, aumentar min_samples también aumenta la densidad requerida para que se forme un grupo, por lo que puede que no siempre sea adecuado para todos los conjuntos de datos.

    Otro enfoque que se puede utilizar es ajustar la métrica de distancia utilizada en sklearn.cluster.DBSCAN. Por defecto, DBSCAN utiliza la distancia euclidiana, que puede no ser ideal para todos los conjuntos de datos. El uso de una métrica de distancia diferente, como la distancia de Manhattan o la similitud del coseno, puede mejorar los resultados del agrupamiento y reducir la clasificación de puntos de datos como ruido.

    Si estos enfoques no funcionan, entonces construir un kd-tree de todos los puntos que no sean ruido y evaluar cada punto de ruido con el punto que no sea ruido más cercano puede ser una solución viable. Sin embargo, este método puede ser computacionalmente costoso para conjuntos de datos grandes y puede que no sea el enfoque más eficiente.

Comments are closed.