Frage

Als mein erstes Projekt in die Datenwissenschaft möchte ich die Hauptcluster in lauten Daten auswählen. Ich denke, ein gutes Beispiel würde versuchen, bestimmte Links auf einer bestimmten Stackexchange -Frage auszuwählen, die eine Reihe von Antworten enthält. Die häufigste Art von Link ist ein Link zu einer Frage im SE -Netzwerk. Das nächste gemeinsame sind entweder Tag -Links oder Links zu Benutzerprofilen. Die verbleibenden Links können zufällige Links sein, die in Posts enthalten sind, was als Rauschen angesehen wird. Im Idealfall suche ich eine Lösung, bei der ich nicht weiß, wie viele Links Cluster es gibt.

Ich habe meinen ersten Versuch verwendet scikit-learn und Kmeans. Es ist jedoch nicht ideal, da ich anscheinend die Anzahl der Cluster im Voraus angeben muss, und ich denke, die zufälligen, lauten Links werden unsachgemäß gruppiert. Ich denke auch, dass es bei einem größeren Korpus effektiver ist als bei den relativ kleinen URL -Token (obwohl das nur eine Vermutung ist).

Gibt es eine Möglichkeit, diese Art von Clustering durchzuführen, wo die Anzahl der Cluster unbekannt ist oder wo einer der Cluster eine Art verschiedener Cluster ist, das Objekte enthält, die nicht genau mit den anderen Clustern übereinstimmen?

War es hilfreich?

Lösung

Hast Du Dir angesehen DBSCAN? Es handelt sich um eine dichte basierte räumliche Clusterbildung von Daten mit Rauschen, die nichtlineare Cluster definieren können (im Gegensatz zu K-Means).

Es ist nicht erforderlich, die Anzahl der Cluster zu kennen. Es erfordert jedoch zwei Parameter (minimale Clustergröße und Nachbarschaftsgröße), die die Dichte messen. Möglicherweise können Sie sie jedoch in Ihrer speziellen Domäne schätzen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top