jerarquico - k means inertia python
Agrupamiento basado en matriz de distancia (3)
El paquete scipy clustering podría ser útil ( scipy.cluster ). Hay funciones de agrupamiento jerárquico en scipy.cluster.hierarchy . Sin embargo, tenga en cuenta que requieren una matriz condensada como entrada (el triángulo superior de la matriz de distancia). Esperemos que las páginas de documentación te ayuden.
Mi objetivo es agrupar palabras en función de qué tan similares sean con respecto a un corpus de documentos de texto. He computado la similitud de Jaccard entre cada par de palabras. En otras palabras, tengo una matriz de distancias dispersas disponible conmigo. ¿Alguien puede indicarme cualquier algoritmo de agrupación en clústeres (y posiblemente su biblioteca en Python) que tome la matriz de distancia como entrada? Tampoco conozco de antemano el número de agrupaciones. Solo quiero agrupar estas palabras y obtener las palabras agrupadas.
Puede usar la mayoría de los algoritmos en scikit-learn con una matriz de distancia precomputada. Desafortunadamente, necesita la cantidad de grupos para muchos algoritmos. DBSCAN es el único que no necesita la cantidad de clústeres y también utiliza matrices de distancia arbitrarias. También puede probar MeanShift , pero eso interpretará las distancias como coordenadas, lo que también podría funcionar.
También hay propagación de la afinidad , pero realmente no he visto que funcione bien. Si quieres muchos grupos, eso podría ser útil, sin embargo.
revelación: soy un dev central de scikit-learn.
Recomendamos echar un vistazo al agrupamiento aglomerado.