сопоставить метку с результатом меток kmeans - PullRequest
0 голосов
/ 11 октября 2019

Предположим, следующий пример:

Набор данных содержит 1 миллион строк. Это слишком много для кластеризации, поэтому мы используем кластеризацию Kmeans для обучения без учителя. (используя библиотеку python sklearn)

Из опыта мы знаем, что будет около 20 основных кластеров.

Поэтому мы выбираем k = 20.

Затем мы вручную помечаем числострок, поэтому мы говорим для каждого из 20 кластеров 5 совпадений.

Мы хотим сопоставить метки из результата kmeans с нашими собственными метками. Если K / len (ручные метки) невелики, это должно быть довольно точно предсказуемо.

, то есть это результат:

kmeans pred.    manual_label
    1               3
    1               3
    16              6
    2               8
    16              6
    1               3
    2               8
    15              6
    16              6

Итак, здесь мы должны ответить (1,3), (2,8), (16,6) Одна строка с 15 была бы неправильной классификацией kmeans, но, вероятно, большинство меток kmeans 15 должны соответствовать другой ручной метке.

IЯ могу придумать, как реализовать это сам (например, сравнивать значения и т. д.), но так как это кажется такой распространенной проблемой, я, вероятно, пропускаю какой-то алгоритм, который уже может это сделать.

Есть предложения?

...