2011-07-18 26 views
8

Tengo algunos puntos en un espacio tridimensional y me gustaría agruparlos. Conozco el módulo de Pythons "cluster", pero solo tiene K-Means. ¿Conoces un módulo que tiene FCM (Fuzzy C-Means)?¿Hay un algoritmo Fuzzy C-Means disponible para Python?

(Si conoces algunos otros módulos de Python que se relacionan con la agrupación que podría nombrarlos como un bono. Pero la pregunta importante es el de un FCM-algoritmo en Python.)

Matlab

Parece ser bastante fácil de usar FCM en Matlab (example). ¿No hay algo como esto disponible para Python?

NumPy, SciPy y Sage

No he encontrado FCM en NumPy, SciPy o Sage. Descargué la documentación y la busqué. No hay resultados

Python-cluster

Parece que el módulo de agrupación agregará Fuzzy C-Means con la próxima versión (ver Roadmap). Pero necesito ahora

+1

Me gustaría ver 'numpy' y' scipy'. – Blender

+0

Algunas de las opciones en [esta otra pregunta] (http://stackoverflow.com/questions/1545606/python-k-means-algorithm) pueden serle útiles. –

Respuesta

7

PEACH proporcionará una cierta funcionalidad Fuzzy C-Means: http://code.google.com/p/peach/

Sin embargo, no parece haber ninguna documentación utilizable como la wiki está vacío. Un example for using FCM with PEACH se puede encontrar en su sitio web.

+0

Acabo de instalarlo y llamé a la ayuda: class FuzzyCMeans - Use esta clase para crear instancias de un objeto fuzzy c-means. El objeto debe recibir un conjunto de entrenamiento y condiciones iniciales. No tengo un conjunto de entrenamiento. –

+1

También puede ver el código y la ayuda en http://peach.googlecode.com/svn/trunk/peach/fuzzy/cmeans.py, dice que el conjunto de capacitación es solo los datos que desea agrupar. el ejemplo proporcionado muestra que puede elegir las condiciones iniciales al azar –

6

Eche un vistazo al paquete scikit-fuzzy. Tiene la funcionalidad de lógica difusa muy básica, incluida la agrupación de c-means difusa.

Cuestiones relacionadas