Ist eine Fuzzy-C-Means-Algorithmus zur Verfügung, für Python?
Habe ich einige Punkte in einem 3 dimensionalen Raum und möchte zu Clustern. Ich weiß, Pythons Modul "cluster", aber es hat nur K-Means. Kennst du ein Modul, das hat FCM (Fuzzy-C-Means)?
(Wenn Sie wissen einige andere python-Module, die in Bezug auf das clustering, die Sie nennen könnten, die Sie als einen bonus. Aber die wichtige Frage ist, die man für einen FCM-Algorithmus in python.)
Matlab
Scheint es Recht einfach zu bedienen FCM in Matlab (Beispiel). Ist nicht so etwas wie dieses vorhanden für Python?
NumPy, SciPy und Salbei
Ich nicht finden FCM in NumPy, SciPy oder Salbei. Ich habe heruntergeladen die Dokumentation und für Sie gesucht. Keine Ergebnisse
Python-cluster
Scheint es, wie die cluster-Modul hinzufügen der fuzzy-C-Means mit der nächsten version (siehe Fahrplan). Aber ich brauche es jetzt
- Ich schaute
numpy
undscipy
. - Einige der Optionen unter > diese Frage nützlich für dich sein könnten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
PEACH wird einige Fuzzy-C-Means-Funktionalität:
http://code.google.com/p/peach/
Aber es scheint nicht zu sein jede brauchbare Dokumentation als wiki ist leer. Ein Beispiel für die Verwendung der FCM mit PFIRSICH finden Sie auf seiner website.
Haben Sie einen Blick auf scikit-fuzzy Paket. Es hat die sehr einfache fuzzy-Logik-Funktionalität, einschließlich fuzzy-c-means-clustering.
Habe ich es geschafft aus dem nichts, mit K++ Initialisierung (mit festen Samen und 5 centroide. Es sollte nicht allzu schwierig sein, zu addapt Sie die gewünschte Anzahl der centroide):
Ich weiß, es ist nicht sehr pythonic, aber ich hoffe, es kann ein Ausgangspunkt für Ihre komplette fuzzy-C-means-Algorithmus. Ich denke, dass "soft clustering" ist der Weg zu gehen, wenn Daten nicht leicht trennbar (z.B. bei "t-SNE-Visualisierung" zeigt alle Daten zusammen, anstatt zu zeigen, Gruppen klar voneinander getrennt. In diesem Fall zwingen die Daten beziehen sich streng auf nur ein clustering kann gefährlich sein). Ich würde einen Versuch geben mit m = 1.1, m = 2.0, so dass Sie sehen können, wie die fuzzy-parameter wirkt sich auf die pertenence matrix.
Python
Gibt es eine fuzzy-c-means-Paket im PyPI. Schauen Sie sich den link : fuzzy-c-means-Python
Dies ist die einfachste Art der Verwendung von FCM in python. Hoffe, es hilft.