最近我们被客户要求撰写关于有限正态混合模型在r软件中的实现的研究报告,用于基于模型的聚类、分类和密度估计。
提供了通过EM算法对具有各种协方差结构的正态混合模型进行参数估计的函数,以及根据这些模型进行模拟的函数。
此外,还包括将基于模型的分层聚类、混合分布估计的EM和贝叶斯信息准则(BIC)结合在一起的功能,用于聚类、密度估计和判别分析的综合策略。其他功能可用于显示和可视化拟合模型以及聚类、分类和密度估计结果。
一个例子
高斯混合模型(Gaussian Mixed Model)指的是多个高斯分布函数的线性组合,理论上GMM可以拟合出任意类型的分布,通常用于解决同一集合下的数据包含多个不同的分布的情况(或者是同一类分布但参数不一样,或者是不同类型的分布,比如正态分布和伯努利分布)。
如图1,图中的点在我们看来明显分成两个聚类。这两个聚类中的点分别通过两个不同的正态分布随机生成而来。但是如果没有GMM,那么只能用一个的二维高斯分布来描述图1中的数据。图1中的椭圆即为二倍标准差的正态分布椭圆。这显然不太合理,毕竟肉眼一看就觉得应该把它们分成两类。
图1
这时候就可以使用GMM了!如图2,数据在平面上的空间分布和图1一样,这时使用两个二维高斯分布来描述图2中的数据,分别记为 N ( μ 1 , Σ 1 ) \mathcal{N}(\boldsymbol{\mu}_1, \boldsymbol{\Sigma}_1) N(μ1,Σ1)和 N ( μ 2 , Σ 2 ) \mathcal{N}(\boldsymbol{\mu}_2, \boldsymbol{\Sigma}_2) N(μ2,Σ2). 图中的两个椭圆分别是这两个高斯分布的二倍标准差椭圆。可以看到使用两个二维高斯分布来描述图中的数据显然更合理。实际上图中的两个聚类的中的点是通过两个不同的正态分布随机生成而来。如果将两个二维高斯分布 N ( μ 1 , Σ 1 ) \mathcal{N}(\boldsymbol{\mu_1}, \boldsymbol{\Sigma}_1) N(μ1,Σ1)和 N ( μ 2 , Σ 2 ) \mathcal{N}(\boldsymbol{\mu}_2, \boldsymbol{\Sigma}_2) N(μ2,Σ2)合成一个二维的分布,那么就可以用合成后的分布来描述图2中的所有点。最直观的方法就是对这两个二维高斯分布做线性组合,用线性组合后的分布来描述整个集合中的数据。这就是高斯混合模型(GMM)。
图2
聚类
head(X)
pairs(X)
![](https://img-blog.csdnimg.cn/20210917150340318.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
plot(BIC)
![](https://img-blog.csdnimg.cn/20210917150517314.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
summary(BIC)
![](https://img-blog.csdnimg.cn/20210917150628768.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_19,color_FFFFFF,t_70,g_se,x_16)
summary(mod1, parameters = TRUE)
![](https://img-blog.csdnimg.cn/20210917150719664.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/20210917150730745.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
plot(mod1)
![](https://img-blog.csdnimg.cn/20210917150825328.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
table(class, classification)
plot(mod1, what = "uncertainty")
![](https://img-blog.csdnimg.cn/20210917151558674.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
随时关注您喜欢的主题
clustICL(X) summary(ICL)
![](https://img-blog.csdnimg.cn/20210917151715777.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
BootstrapLRT(X)
初始化
使用EM算法进行最大似然估计。
EM的初始化是使用从聚类层次结构聚类中获得的分区来进行的。
hclust(X, use = "SVD"))
![](https://img-blog.csdnimg.cn/20210917151900242.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
clustBIC(X, initialization )) # 默认
![](https://img-blog.csdnimg.cn/20210917152057277.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/20210917152108174.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_17,color_FFFFFF,t_70,g_se,x_16)
hc2
![](https://img-blog.csdnimg.cn/2021091715212340.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
clustBIC(X, initialization )
![](https://img-blog.csdnimg.cn/2021091715214073.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
hclust(X, model= "EEE"))
![](https://img-blog.csdnimg.cn/2021091715215244.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
summary(BIC3)
![](https://img-blog.csdnimg.cn/20210917152205451.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
通过合并最佳结果来更新BIC。
BIC(BIC1, BIC2, BIC3)
![](https://img-blog.csdnimg.cn/20210917152234266.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/20210917152320825.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
使用随机起点进行单变量拟合,通过创建随机集聚和合并最佳结果获得。
for(j in 1:20) { rBIC <- mclustBIC( initi )) BIC <- update(BIC, rBIC) }
![](https://img-blog.csdnimg.cn/20210917152509630.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
clust(ga, BIC)
![](https://img-blog.csdnimg.cn/20210917152526916.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
分类
EDDA
X <- iris\[,1:4\] head(X)
![](https://img-blog.csdnimg.cn/20210917152603511.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
clustDA(X, class, "EDDA")
![](https://img-blog.csdnimg.cn/20210917152617796.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
plot(mod2)
![](https://img-blog.csdnimg.cn/20210917152756680.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/20210917152821807.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
MclustDA
table(class)
![](https://img-blog.csdnimg.cn/20210917152933973.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_12,color_FFFFFF,t_70,g_se,x_16)
head(X)
![](https://img-blog.csdnimg.cn/20210917152948158.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_19,color_FFFFFF,t_70,g_se,x_16)
clustDA(X, class)
![](https://img-blog.csdnimg.cn/20210917153011745.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
plot(mod3, 2)
![](https://img-blog.csdnimg.cn/20210917153031562.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
plot(mod3, 3)
![](https://img-blog.csdnimg.cn/20210917153044614.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
交叉验证误差
cv(mod2, nfold = 10)
![](https://img-blog.csdnimg.cn/2021091715313691.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/20210917153148892.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
unlist(cv\[3:4\])
![](https://img-blog.csdnimg.cn/20210917153200622.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_10,color_FFFFFF,t_70,g_se,x_16)
cv(mod3, nf = 10)
![](https://img-blog.csdnimg.cn/20210917153217971.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/20210917153233498.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
unlist(cv\[3:4\])
![](https://img-blog.csdnimg.cn/20210917153245932.png)
密度估计
单变量
clust(acid)
![](https://img-blog.csdnimg.cn/20210917153314843.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/2021091715332669.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
plot(mod4, "BIC")
![](https://img-blog.csdnimg.cn/20210917153335259.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
plot(mod4, "density", acidity)
![](https://img-blog.csdnimg.cn/20210917153347406.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
plot(mod4, "diagnostic", "cdf")
![](https://img-blog.csdnimg.cn/20210917153357592.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/20210917153405430.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
多变量
clu(faithful) summary(mod5)
![](https://img-blog.csdnimg.cn/20210917153437892.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
plot(mod5, "BIC")
![](https://img-blog.csdnimg.cn/20210917153447233.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/20210917153458301.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
plot(mod5, "density",faithful)
![](https://img-blog.csdnimg.cn/20210917153518999.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
Bootstrap推理
summary(boot1, what = "se")
![](https://img-blog.csdnimg.cn/20210917153714405.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/20210917153728499.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
summary(boot1, what = "ci")
![](https://img-blog.csdnimg.cn/20210917153806770.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/2021091715382586.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/2020072215271926.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5NjAwMjkx,size_16,color_FFFFFF,t_70)
summary(boot4, what = "se") plot(boot4)
![](https://img-blog.csdnimg.cn/20210917154059161.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/20210917154111970.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
降维
聚类
plot(mod1dr, "pairs")
![](https://img-blog.csdnimg.cn/20210917154140885.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/20210917154152387.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
plot(mod1dr)
![](https://img-blog.csdnimg.cn/20210917154210274.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
plot(mod1dr, "scatterplot")
![](https://img-blog.csdnimg.cn/20210917154250663.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/20210917154300404.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
plot(mod1dr)
![](https://img-blog.csdnimg.cn/20210917154312927.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
分类
summary(mod2dr) plot(mod2d)
![](https://img-blog.csdnimg.cn/20210917154346385.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/20210917154355695.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
plot(mod2dr)
![](https://img-blog.csdnimg.cn/20210917154459491.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
summary(mod3dr) plot(mod3dr)
![](https://img-blog.csdnimg.cn/20210917154518706.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/20210917154527727.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
plot(mod3dr)
![](https://img-blog.csdnimg.cn/20210917154538989.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ouT56uv56CU56m25a6k,size_15,color_FFFFFF,t_70,g_se,x_16)
使用调色板
大多数图形都使用默认的颜色。
调色板可以定义并分配给上述选项,具体如下。
options("Colors" = Palette ) Pairs(iris\[,-5\], Species)
![](https://img-blog.csdnimg.cn/20200722152537615.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5NjAwMjkx,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20200722152528593.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5NjAwMjkx,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20200722152518994.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5NjAwMjkx,size_16,color_FFFFFF,t_70)
如果需要,用户可以很容易地定义自己的调色板。
参考文献
Fraley C. and Raftery A. E. (2002) Model-based clustering, discriminant analysis and density estimation, _Journal of the American Statistical Association_, 97/458, pp. 611-631.
可下载资源
关于作者
Kaizong Ye是拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。
本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。
非常感谢您阅读本文,如需帮助请联系我们!