def __init__(self, edges, branching_factor=50, threshold=0.1):
# Make features list.
features = []
for i in range(len(edges)):
edge = edges[i]
features.append([edge['perimeter'], edge['area'],
edge['shape_factor'], edge['radius_deviation']])
features = np.array(features)
# Normalize features
normed_features = features.copy()
for i in range(features.shape[1]):
avg = np.median(features[::, i])
std = np.std(features[::, i])
normed_features[::, i] -= avg
normed_features[::, i] /= avg
self.features = features
self.normed_features = normed_features
self.branching_factor = branching_factor
self.threshold = threshold
#self.run(Birch, branching_factor=50, threshold=0.1, n_clusters=2)
self.run(KMeans, n_clusters=2)
#self.run(AgglomerativeClustering, n_clusters=2)
评论列表
文章目录