Контекст: я пытаюсь 1) определить кластер на основе определенных лиц и 2) назначить других лиц в определенные кластеры.
Что было сделано: я использую FactoMineR
функции PCA()
и HCPC()
в соответствии с рабочим процессом, описанным Husson, F., Josse, J., Pages, J., 2010. Методы основных компонентов - иерархическая кластеризация - секционирование кластеризация: зачем нам выбирать для визуализации данных? Технический отчет – Агрокампус 17.
Вопрос: можно ли назначить каждому дополнительному индивидууму (PCA(..., ind.sup =***)
кластер, определенный в анализе иерархической кластеризации?
Аналогичный вопрос: этот вопрос уже задавался в stackoverflow здесь, но это было 5 лет назад, и ответ не вписывается в рабочий процесс HCPC.
Ниже приведен код, использующий базовый набор данных R mtcars
:
if(!require(FactoMineR)){install.packages("FactoMineR")}
library(FactoMineR)
if(!require(factoextra)){install.packages("factoextra")}
library(factoextra)
# lets use mtcars dataset for this question
head(mtcars)
# some individuals are considered as supplementary:
mtcars[22:nrow(mtcars),]
# HCPC workflow
res.pca = PCA(mtcars,
ind.sup = c(22:nrow(mtcars)), # the last 10 individuals are supplementary
scale.unit = TRUE,
ncp = 5,
graph = TRUE)
fviz_pca_ind(res.pca) # here supplementary individuals are included
res.hcpc = HCPC(res.pca,
nb.clust = -1, # automatic tree cut
min = 3,
max = NULL,
graph = FALSE,
kk=Inf) # no k-means pre-processing
# here are the two results needed to illustrate my question
fviz_dend(res.hcpc, show_labels = TRUE)
res.hcpc$desc.ind # notice that individuals considered as supplementary are not included in any cluster
Ожидаемый результат: ожидаемый результат примерно такой, когда дополнительные лица назначаются кластеру и четко идентифицируются: . Например, с Fiat X-9 и Lotus Europa (дополнительные лица), включенными в кластер с Fiat 128.