Я пытаюсь сравнить список меток из Sklears Kmeans с прогнозируемыми метками для другого набора данных. Но список меток имеет разные размеры, поэтому я хочу, чтобы каждая метка встречалась.
Итак, я уже пробовал использовать Counter, но я не получаю именно то, что хочу. На данный момент я использую np.unique, и все еще есть некоторые проблемы.
Как пример:
X = np.array([[1, 2], [1, 4], [1, 0],[4, 2], [4, 4], [4, 0]])
kmeans = KMeans(n_clusters=4, random_state=0).fit(X)
Unique,count = np.unique(kmeans.labels_,return_index=True)
print(count) # [2 2 1 1] so far so good
New_Labels = kmeans.predict([[0, 4], [4, 4],[0,5],[1,6],[7,2],[4,0],[4,2]])
print(New_Labels) # [3 0 3 3 0 2 0] also good
Unique1,count1 = np.unique(Labels,return_index=True)
Тогда вот где у меня проблема.
print(Unique1,count1) #[3 1 3]
Мне бы хотелось, чтобы в выводе моего количества меток также было указано 0, если метка кластера отсутствует.
Поэтому я хотел бы, чтобы количество моих предсказанных ярлыков было
[3 0 1 3]