Присвоєння міток класу кластерам k-означає


10

У мене дуже основне питання щодо кластеризації. Після того як я знайшов k кластери з їхніми центроїдами, як мені перейти до інтерпретації класів точок даних, які я кластеризував (присвоюючи значні мітки класу кожному кластеру). Я не кажу про валідацію знайдених кластерів.

Чи можна це зробити за допомогою невеликого міченого набору точок даних, обчислити, до якого кластеру належать ці мічені точки і, виходячи з типу та кількості точок, які отримує кожен кластер, вирішити мітку? Це здається досить очевидним, але я не знаю, наскільки стандартно таким чином призначати мітки кластерам.

Щоб було зрозуміло, я хочу виконати непідтримуваний кластеризацію, яка не використовує міток для першого пошуку моїх кластерів. Потім знайшовши кластери, я хочу призначити кластери мітки класу на основі властивостей кількох прикладних точок даних.


Я не впевнений, що розумію ваше запитання: зазвичай будь-який алгоритм k-означає повинен повертати інформацію про приналежність до класу для кожної точки даних. Ви говорите про фактичні точки даних або нові спостереження?
chl

@chi Я підозрюю, що Ріяз стурбований пошуком імен, за допомогою яких можна позначати кластери, і говорить про те, що апріорі називає деякі точки, а потім використовує якийсь алгоритм, який враховує перевагу названих точок у кластерах, щоб потім називати ці кластери.
Glen_b -Встановити Моніку

2
@Riyaz, чи могли б ми використати наступну аналогію до факторного аналізу, щоб зрозуміти ваше запитання? Часто хтось буде фактор аналізувати набір змінних, щоб згрупувати їх у групи змінних, які, здається, "зчеплені", але тоді аналітику потрібно думати про природу змінних, які складають кожен кластер, щоб придумати ім'я для / спосіб мислення про те , що кожен кластер (фактор) є . Це, по суті, те, що ти тут отримуєш?
gung - Відновіть Моніку

Відповіді:


4

Так. Те, що ви пропонуєте, є повністю стандартним, і це стандартне програмне забезпечення k-означає, що воно працює автоматично. У випадку k-значень ви обчислюєте евклідову відстань між кожним спостереженням (точкою даних) та кожним середнім кластером (центроїд) і призначаєте спостереження найбільш схожим кластером. Потім мітка кластера визначається шляхом вивчення середніх характеристик спостережень, віднесених до кластеру відносно середніх показників тих, що відносяться до інших кластерів.


3

Якщо ви подивитеся на імена у вашому об'єкті kmeans, ви помітите, що є об’єкт "кластер". Він містить мітки класу, упорядковані так само, як і ваші вхідні дані. Ось простий приклад, який пов'язує мітки кластера назад до ваших даних.

x <- data.frame(X=rnorm(100, sd=0.3), Y=rnorm(100, mean=1, sd=0.3))

k <- kmeans(x, 2) 
names(k)
x <- data.frame(x, K=k$cluster)

# You can also directly return the clusters
x <- data.frame(x, K=kmeans(x, 2)$cluster)

0

Мітки для кластера можуть базуватися на класі зразків більшості в кластері. Але це справедливо лише в тому випадку, якщо кількість кластерів дорівнює кількості класів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.