Có thuật toán phân loại nào gán một vectơ kiểm tra mới cho cụm điểm có khoảng cách trung bình là tối thiểu không?
Hãy để tôi viết nó tốt hơn: Hãy tưởng tượng rằng chúng ta có mỗi cụm điểm. Với mỗi cụm k, tôi tính trung bình của tất cả các khoảng cách giữa và , trong đó là một điểm trong cụm .
Điểm kiểm tra được gán cho cụm với khoảng cách tối thiểu như vậy.
Bạn có nghĩ rằng đây là một thuật toán phân loại hợp lệ? Về lý thuyết, nếu cụm "được hình thành tốt" như bạn có sau khi ánh xạ phân biệt đối xử được đánh dấu tuyến tính, chúng ta sẽ có thể có độ chính xác phân loại tốt.
Bạn nghĩ gì về thuật toán này? Tôi đã thử nhưng kết quả là việc phân loại rất thiên về cụm có số lượng phần tử lớn nhất.
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