R语言实现期望最大化聚类(EM算法)
来源:网络收集 点击: 时间:2024-05-30在R中实现期望最大化聚类的是mclust软件包中的核心函数Mclust()。其基本格式为:
Mclust(data, G = NULL, modelNames = NULL, prior = NULL, control = emControl(), initialization = NULL, warn = mclust.options(warn), x = NULL, verbose = interactive(), ...)
其中,data表示待聚类数据集,G为预设类别数,默认值 为1到9,由软件根据BIC值在这些默认值中选择最优解;moldelNames表示模型类别,软件会自动选择最优的参数值。
首先要安装和加载软件包:
install.packages(霜畜颂mclust)
library(mclust)

读取数据集。
Tourism_shares=read.csv(Tourism_shares.csv,head=T,encoding=utf-8) #读取数据集
head(Tourism_shares)#查看数据前几行
dim(Tourism_shares)#查看数据维度

实现期望最大化聚类。
fit_EM=Mclust(na.omit(Tourism_shares))
summary(fit_EM,parameters=TRUE) #查看聚类结果
结果显示,最优类别数为5,每个类中分别有2、7、7、6、3个样本。

绘制聚类结果图。
plot(fit_EM)#该命令可得到4张连续图,分别是恩扯:BIC图(图1)、分类图(classification)(图2)、概率图(uncertainty)(图3)伐沃、密度图(density)(图4)。
图中不仅将各类别样本的主要分布区域用椭圆圈出,并标出了类别中心点。其中概率图以样本点图形的大小来显示了该样本归属于相应类别的概率大小。




版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_861900.html