2016-03-22 6 views
-1

Ich versuche, eine ähnliche Methode zum Ausführen von Clustering mit Python zu finden, wie ich mit Weka tun würde.Python-Clustering aus CSV-Datei als Eingabe

Ich habe versucht, scipy, aber es bekommt als Eingabe ein Array.

Was ich habe, ist eine CSV-Datei, bestehend aus

objectId, attribute1, attribute2, .., attributeN 
e.g. '1234', 0, 1, 0,1,1,1, ..., 0 

Attribute1,2, .., N erhalten Werte 0 und 1

Gibt es eine Möglichkeit, die oben genannte CSV-Datei zu laden, und führen Sie das Clustering mit einer Python-Bibliothek durch und holen Sie sich den Cluster, in den jede Objekt-ID fällt?

Meine .csv-Datei besteht aus 300.000 OjectId-Datensätzen.

Ich habe meine .csv-Datei in .arff-Form für Weka umgewandelt, aber es dauert bis zu 6 Stunden, Clustering durchzuführen, also suche ich nach einem schnelleren Weg und hoffe, dass die Python-Bibliothek schneller wäre .

Vielen Dank im Voraus.

+0

Versuchen ELKI, es ist viel schneller als Weka und funktioniert ähnlich. –

Antwort

-1

Ich weiß nicht, ob das ist, was Sie wollen, aber:

die CSV-lesen:

f = open('yourcsv.csv', mode='r') 

content = f.readlines() 

Jetzt können Sie eine Liste erstellen, um alle Infos hinzufügen

cluster = [] 

for line in content: 
    list = line.decode('utf-8').strip().split(',') 
    cluster[list[0]] = list[1 : len(list) - 1] 

// Jetzt können Sie alle Infos acces wie dieser

objectId = 'someIdentifier' 

info = cluster[objectId]