K Средства на основе фрейма данных смешанного типа. - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть следующий набор данных, и я хочу применить к нему кластеризацию (в частности, k-means).

     id      category     value
0    122         A          3
1    122         B          4
2    122         C          9
3    145         A          19
4    145         B          22
5    145         C          90
.
.
. 
197    225         A          16 
198    225         B          17
199    225         C          12

Что я хочу сделать, это создать кластер идентификатора.Например, каждый кластер должен содержать некоторый идентификатор, основанный на показателе сходства, рассчитанном по значениям категории.

Например: C1 {122, 145, 148} C2 {225, 222, 221} ....

Есть идеи о том, как решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

Сводная ваши данные в соответствующей форме:

Ваши категории должны быть столбцы , а не отдельные строки.

     id          A          B         C
1    122         3          4         9
2    145         19         22        90
..

Не забудьте исключить столбец ID для анализа!Никогда не включайте идентификаторы при кластеризации.Для анализа ваши данные должны иметь только столбцы A, B, C;одна строка на ID.Так что у вас есть матрица nx 3, тогда вы можете просто использовать k-средних.

0 голосов
/ 03 декабря 2018

Я предполагаю, что есть категории из AZ, и есть много строк, которые принадлежат к той же категории.Алгоритм K-средних будет работать, как описано ниже.Из вашего вопроса не понятно, что такое мера сходства.Я обновлю свой ответ, как только получу больше ясности относительно цели кластеризации.

ОБНОВЛЕНИЕ: После того, как я снова посмотрел на данные и заметил комментарий от @ Anony-Mousse, я предполагаю, что вопрос: задан трикатегории A, B, C и их соответствующие значения и метки (идентификаторы) группируют их в соответствии с некоторой метрикой подобия (это может быть евклидово расстояние, косинусное расстояние или какое-либо другое).Я обновляю свой предыдущий ответ, чтобы соответствовать вышеупомянутым предположениям.

Анализирует данные и генерирует три числовых или горячо закодированных объекта, которые представляют значения для категорий A, B и C для каждого идентификатора.

K: ввод

Повтор до сходимости:

  • Инициализировать 3-мерные кластерные центроиды от U1 до UK.
  • Для каждогоЯ нашел бы наименьшую сумму евклидовых расстояний между значениями категории и центроидами скопления.Назначьте этот центроид кластера в качестве нового кластерного центра текущего идентификатора.
  • Для каждого кластера пересчитайте его центроид, усредняя характеристики всех сэмплов (идентификаторов), назначенных ему.

Конвергенция может иметь место, когда центроиды кластеров не изменяются или когда каждый центроид изменяется меньше, чем небольшое значение, предоставленное в качестве входных данных.

...