2016-09-19 4 views
-2

Ich habe einen Pandas Datenrahmen mit den folgenden 2 Spalten:KMeans Clustering von Textdaten

 Database Name    Name 

     db1_user     Login 
     db1_client    Login 
     db_care     Login 
     db_control    LoginEdit 
     db_technology    View 
     db_advanced    LoginEdit 

Ich habe den Datenbanknamen auf dem Feld „Namen“ Basis gruppieren. Als ich es zu einer numpy konvertieren, unter Verwendung von

Daten-Set = df2.values ​​

Wenn ich den Druck (dataset.dtype) zu drucken, ist die Typ-Objekt. Ich habe gerade mit dem Clustering begonnen, von dem, was ich lese, verstehe ich, dass dieses Objekt kein Typ ist, der für Kmeans Clustering geeignet ist.

Jede Hilfe wäre angemessen !!

Antwort

0

Was ist die bedeuten von

Login 
LoginEdit 
View 

denn sein?

Es gibt einen Grund, warum k-means nur mit fortlaufenden numerischen Daten arbeitet. Weil die erfordert, dass solche Daten gut definiert sind.

Ich glaube nicht, Clustering ist auf Ihr Problem überhaupt (eher in Daten Reinigung). Aber klar braucht man eine Methode, die mit beliebigen Distanzen arbeitet - k-mean nicht.

0

Ich verstehe nicht, ob Sie Cluster für jede Gruppe von "Name" -Attributen entwickeln oder alternativ n Cluster unabhängig vom Wert von "Name" erstellen möchten; und ich verstehe nicht, was Clustering hier erreichen könnte.

In jedem Fall, vor ein paar Tagen gab es eine ähnliche Frage auf der Datascience SE-Website (von einem R-Benutzer, obwohl), für die Ähnlichkeit der lokalen Namen der E-Mail-Adressen (der Teil vor dem "@"), nicht von Datenbanknamen. Das Problem ist ähnlich wie bei Ihnen. diese

Check out:

https://datascience.stackexchange.com/questions/14146/text-similarities/14148#14148

Die Antwort war umfassend in Bezug auf die unterschiedliche Abstandsmaße für Streicher.

Vielleicht sollten Sie dies untersuchen. Entscheiden Sie sich dann für ein passendes Distanzmaß, das in Python verfügbar ist (oder eines, das Sie selbst programmieren können) und das Ihren Bedürfnissen entspricht.