2017-09-04 3 views
-1

Ich möchte gowalla Datensatz Cluster Standort verwenden. [Dies ist meine Daten User-ID (int), Check-in Zeit (Polynom), Breite (real), Länge (real), Standort (int) enthalten] Wie kann ich Typdaten für räumliches Clustering mit DBSCAN mit Python behandeln?

Und ich habe einen Fehler wie folgt.

Was ist falsch mit meinem Code ??

import csv 
import numpy as np 
from scipy.spatial import distance 
from sklearn.cluster import DBSCAN 

labels = ['id', 'date_time', 'lat', 'lng','location'] 
data = csv.DictReader(open('dataset1.csv', 'r').readlines()[1:], labels) 
coords = [(float(d['lat']), float(d['lng'])) for d in data if len(d['lat']) > 0] 
distance_matrix = distance.squareform(distance.pdist(coords)) 

db = DBSCAN(eps=1.45).fit(distance_matrix) 
class_members = [index[0] for index in np.argwhere(db.labels_ == k)] 
for index in class_members: 
    print '%s,%s' % (int(k), '{0},{1}'.format(*coords[index])) 

Dank für die Unterstützung n

Antwort

0

Als Fehlermeldung angegeben teilen, keine hat keine Länge.

if len(d['lat']) > 0 

so muss d['lat']None sein.

Mindestens eine Zeile hat keine Koordinate?

Verwandte Themen