Кластеризація даних змішаного типу за допомогою R


19

Цікаво, чи можна виконати в межах R кластеризацію даних, що мають змішані змінні даних. Іншими словами, у мене є набір даних, що містить як числові, так і категоріальні змінні всередині, і я знаходжу найкращий спосіб їх кластеризації. У SPSS я використовував би двоступеневий кластер. Цікаво, чи можна в R знайти подібні прийоми. Мені сказали про пакет poLCA, але я не впевнений ...


1
Хіба SPSS TwoStep не розроблений для обробки великих наборів даних? (Я надаю відповідь на відповідне запитання тут .) Інакше, чи мій відповідь на аналіз основних компонентів може бути застосований до наборів даних, що містять суміш безперервних і категоричних змінних? будь-яка допомога?
chl

Всередині кластера пакетів R є маргаритка, яка створить матрицю несхожості для змішаних даних (коефіцієнт подібності Гоувера). Тоді ви можете використовувати ? Agnes або інші функції кластеризації.
rhonda

1
Не плутайте метод з реалізацією. Спочатку шукайте алгоритм кластеризації, який має сенс. Потім шукайте пакет R, який реалізує його.
shadowtalker

Подібність Gower можна використовувати.
ttnphns

Нещодавно @gung закрив дуже схоже питання, яке я задав. Мені сказали, що моє запитання було поза темою, оскільки це стосувалося переважно програмного забезпечення. Схоже, це стосується програмного забезпечення. Мені б дуже цікаво дізнатись, чому правила тут виконуються непослідовно. Зауважте, я вважаю, що питання є інформативним, але правила повинні бути правилами.
Вейвен Нг

Відповіді:


8

Це може пізно, але спробуйте klaR ( http://cran.r-project.org/web/packages/klaR/index.html )

install.packages("klar")

Він використовує неієрархічний алгоритм k-mode, який заснований на простому зіставленні як функції відстані, тому відстань δ між змінною m двох точок даних і y задаєтьсяxy

δ(xm,ym)={1xmym,0otherwise

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

Для розміщення кластеризації змішаної змінної вам потрібно буде зайти в код і змінити функцію відстані, щоб ідентифікувати числові та нечислові режими та змінні.


7

Ще одним привабливим способом обробки змінних типів є використання матриці наближення / подібності з випадкових лісів: http://cogns.northwestern.edu/cbmg/LiawAndWiener2002.pdf . Це сприяє уніфікованому способу однакового поводження з усіма змінними (тим не менш, пам’ятайте про проблему зміщення вибору змінних). З іншого боку, справді не існує універсального золотого способу визначення відстані для змінних змішаних типів. Все залежить від контексту програми.


4

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


1
Як би ви ставилися до числових змінних у MCA? Використовуючи дискретизацію?
chl

Є розширення MCA, які можуть включати безперервні змінні, див., Наприклад, гомали аналізу гомогенності
kjetil b halvorsen

3

Ну, ви, звичайно, можете. Створюючи категоричні змінні штучно числовими. Або використовуючи кластеризацію на основі матриці відстаней (можливо, це може зробити і fpc). Питання, на яке спершу слід спробувати відповісти, таке: чи це насправді має сенс?


3

jk

SG=i=1nwi,j,ksi,j,ki=1nwi,j,k
i

wi,j,к

si,j,k

  • wi,j,k

  • багатоступеневі символи (номінальний або порядковий): 1 для рівності, 0 інше (еквівалентно коефіцієнту простого узгодження)

  • si,j,k=1|Xi,jXi,k|RiRii

SG

1SG


Чи можете ви визначити, що таке "характер" (і "кардинальний характер") у вашій відповіді? Під цим ви маєте на увазі змінну / атрибут / особливість? Крім того, я можу додати, що Gower можна обчислити для порядкових змінних, не трактуючи їх як номінальні ("багатоступеневі"), див .
ttnphns

Характер, змінна, особливість - всі синоніми. Кардинал означає або інтервал, або раціональну шкалу.
Енгельберт Буксбаум

Дякую за те, що ви зрозуміли це. Я просто запитав, тому що ваша термінологія, мабуть, не дуже поширена в статистиці або машинному навчанні: "характер" є незвичним, а те, що ви називаєте "кардинальним" змінним типом, як правило, відоме як "змінна" змінна aka "метрична" змінна, на противагу категоричній .
ttnphns

1

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



0

VarSelLCM пакетні пропозиції

Вибір змінних для моделювання кластеризації набору даних змішаного типу з відсутніми значеннями

Про CRAN , а описано більше в статті .

Перевага перед деякими попередніми методами полягає в тому, що він пропонує певну допомогу у виборі кількості кластерів та обробляє відсутні дані. Приємне блискуче додаток також не нахмуриться.

введіть тут опис зображення

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