【数据挖掘】十大经典数据挖掘算法R语言实践(八)
续《十大经典数据挖掘算法R语言实践(七)》,本文介绍EM算法在R语言中如何使用。
数据集
采用R语言内置的iris数据集。
#查看数据集前六个观测
head(iris)
EM算法R语言实践
第一步:加载实现EM算法的R包
library(mclust)
第二步:构建EM算法模型
model.EM <-Mclust(subset(iris, select= -Species))
第三步:生成混淆矩阵
table(model.EM$classification, iris$Species)
思考:如何解读这个混淆矩阵里面的结果??
EM算法原理
1 最大期望算法(Expectation-maximizationalgorithm,又译期望最大化算法)在统计中被用于寻找,依赖于不可观察的隐性变量的概率模型中,参数的最大似然估计。
2 在统计计算中,最大期望(EM)算法是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量(LatentVariable)。最大期望经常用在机器学习和计算机视觉的数据聚类(DataClustering)领域。最大期望算法经过两个步骤交替进行计算,第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值;第二步是最大化(M),最大化在 E 步上求得的最大似然值来计算参数的值。M步上找到的参数估计值被用于下一个 E 步计算中,这个过程不断交替进行。
【纠错说明】
我在《十大经典数据挖掘算法R语言实践》一文中把EM算法归结于分类领域,考虑不妥当。EM算法常用语聚类领域,特此声明。
参考资料
1 《数据挖掘导论》和《数据挖掘:概念与技术》
3 Top10 data mining algorithms in plain R
中国数据人QQ群:290937046,使命:让更多人懂数据、用数据。陆勤微信:luqin360 ,多交流。
【公众号推荐】
数据科学自媒体,分享数据科学内容。
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!