def calc_medoid(self, points): centroid = self.calc_centroid(points) min_d = -1 medoid = [-1,-1] for p in points: d = util.hubeny_distance(p, centroid) if d < min_d or min_d == -1: min_d = d medoid = p return medoid
def calc_dispersion(self, centroid, points): sum_dist = sum([util.hubeny_distance(centroid, p) for p in points]) n = float(len(points)) return sum_dist/n