是否有任何分类算法可以为平均距离最小的点簇分配一个新的测试向量?
让我写得更好:假设我们有点的集群。和之间所有距离的平均值,其中是集群中的一个点。
测试点被分配给具有最小这种距离的集群。
你认为这是一个有效的分类算法吗?从理论上讲,如果集群在线性钓鱼判别映射之后是“格式良好的”,我们应该能够具有良好的分类精度。
你觉得这个算法怎么样?我已经尝试过,但结果是分类强烈偏向于元素数量最多的集群。
def classify_avg_y_space(logging, y_train, y_tests, labels_indices):
my_labels=[]
distances=dict()
avg_dist=dict()
for key, value in labels_indices.items():
distances[key] = sk.metrics.pairwise.euclidean_distances(y_tests, y_train[value])
avg_dist[key]=np.average(distances[key], axis=1)
for index, value in enumerate(y_tests):
average_distances_test_cluster = { key : avg_dist[key][index] for key in labels_indices.keys() }
my_labels.append(min(average_distances_test_cluster, key=average_distances_test_cluster.get))
return my_labels