Mclust()模型选择出现NA值,GMM分类效果差的技术求助
R语言Mclust高斯混合模型分类效果差且多数BIC为NA的问题
我有一个带已知类别的多元矩阵(400条观测×196个变量),用R语言mclust包的Mclust()函数做高斯混合模型(GMM)分析时,分类效果极差——仅约30%的个体分类正确,但k-means算法的分类准确率能达到90%以上。
我的代码如下:
library(mclust) X <- read.csv("X.csv", sep = ",", h = T) y <- read.csv("y.csv", sep = ",") gmm <- Mclust(X, G = 5) # 目标是分成5类 cl_gmm <- gmm$classification cl_gmm_lab <- cl_gmm nclusters <- 5 # 补充定义聚类数,原代码未声明该变量 for (k in 1:nclusters){ ii = which(cl_gmm == k) # 第k类的个体索引 counts=table(y[ii]) # 各类别出现次数统计 imax = which.max(counts) # 多数类别对应的索引 maj_lab = attributes(counts)$dimnames[[1]][imax] print(paste("Group ",k," majority label = ",maj_lab)) cl_gmm_lab[ii] = maj_lab } conf_mat_gmm <- table(y,cl_gmm_lab) # 生成混淆矩阵
我发现问题根源可能在于:查看gmm$BIC时,除了EII(球形、等体积)模型外,其余所有模型的BIC值均为NA。至今没找到解决办法,请问有人了解这个问题吗?
内容的提问来源于stack exchange,提问作者Droidux
相关产品推荐
相关产品推荐

