Я хочу сравнить два разных кластера, рассчитанные с помощью библиотеки k-средств sklearn
.Python: проверка k-означает кластеризацию
from sklearn.cluster import KMeans
ya = KMeans(n_clusters=3).fit_predict(Xa)
yb = KMeans(n_clusters=3).fit_predict(Xb)
Где
ya
array([0, 2, 1, 1, 2, 2, 0, 2, 2, 1, 0, 0, 1, 2, 0, 1, 0, 0, 0, 0, 2, 2, 2,
2, 2, 0, 2, 0, 2, 0, 2, 2, 2, 0, 0, 1, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2,
2, 0, 1, 0, 2, 2, 2], dtype=int32)
и
yb
array([1, 2, 0, 0, 2, 2, 1, 2, 2, 0, 1, 1, 0, 2, 1, 0, 1, 1, 1, 1, 2, 2, 2,
2, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 1, 0, 1, 2, 2, 2, 2, 2, 2, 1, 1, 2,
2, 1, 0, 1, 2, 2, 2], dtype=int32)
кластеры являются одинаковыми, но метки различны. Чтобы вычислить разницу, которую я делал:
sm = difflib.SequenceMatcher(None,list(ya),list(yb))
sm.ratio()
Но, конечно, это не работает из-за ярлыков. Есть ли способ сравнить два кластера?
Моя проблема - это метка, которая отличается, даже если оба кластера одинаковы. – emax
Я обновил ответ на карту из одного массива в другой - это работает? – vahndi
Проблема в том, что маркировка кажется случайной, и вы не изменяете ее. – emax