def _get_area(self): xspan, yspan = get_point_spans(self.members) points = np.asarray([[x,y] for x in xrange(*xspan) for y in xrange(*yspan)]) # fuckers this not implement predict method... #ehh eps = self.parent.DBSCAN_EPS min_samples = self.parent.DB_SCAN_MIN_SAMPLES area = list(self.members) for point in points: # n2 still fast though friends = 0 for member in self.members: tr = point-member if np.sqrt(tr.dot(tr)) < eps: friends+=1 if friends >= min_samples: area.append(point) break return np.asarray(area)
def __init__(self, points): self.points = points self.xspan, self.yspan = get_point_spans(points)