какой метод подходит для кластеризации двоичной матрицы - PullRequest
0 голосов
/ 29 мая 2018

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

методов кластеризации очень много и они различныв соответствии с набором данных

для примера k-средних не подходит, потому что данные являются двоичными, а стандартная операция «среднее» не имеет большого смысла для двоичных данных.

я открыт длялюбое предложение

Вот пример:

+------------+---------+--------+--------+
|  session1  | session2|session3|session4|
+------------+---------+--------+--------+
|     1      |    0    |   1    |    0   |
|     0      |    1    |   0    |    1   |
|     1      |    0    |   1    |    0   | 
|     0      |    1    |   0    |    1   |
+------------+---------+--------+--------+

Результат:

clusterA = [пользователь1, пользователь3]

clusterB = [пользователь2, пользователь4]

1 Ответ

0 голосов
/ 29 мая 2018

Вы можете использовать расстояние Жакара для каждой пары точек.

В R:

# create data table
mat = data.frame(s1 = c(T,F,T,F), s2 = c(F,T,F,T), 
                 s3 = c(T,F,T,F), s4 = c(F,T,F,T))

Результат:

     s1    s2    s3    s4
1  TRUE FALSE  TRUE FALSE
2 FALSE  TRUE FALSE  TRUE
3  TRUE FALSE  TRUE FALSE
4 FALSE  TRUE FALSE  TRUE

 dist(mat, method="binary") # jaccard distance

Результат:

  1 2 3
2 1    
3 0 1  
4 1 0 1

Ряд 3 имеет расстояние 1 от ряда 4. Случайно, все расстояния здесь равны 1 и 0.Это на самом деле поплавки.(Ваш набор данных игрушек здесь может быть слишком упрощенным)

Сгруппировать их:

hclust(dist(mat, method="binary"))

Результат (не такой информативный):

Call:
hclust(d = dist(mat, method = "binary"))

Cluster method   : complete 
Distance         : binary 
Number of objects: 4 

Создать график дендрограммы

plot(hclust(dist(mat, method="binary")))

dendrogram

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...