Python Scikit学习GMM结果与R Mclust不一致

时间:2014-12-07 02:09:29

标签: python r scikit-learn cluster-analysis

我试图在Scikit中复制结果在R中学习MClust的GMM。根据数据,我得到的结果在各个包中是不同的。我在混合物中尝试了不同的协方差结构.GMM。如何使Python版本匹配?更简单的例子工作正常,但是使用这种方差结构,我无法使其工作。

Python代码:

gmm = mixture.GMM(n_components=3,n_iter=1000,covariance_type='full')
gmm.fit(data)
gmm.means_
   array([[ 0.08603919],
          [ 0.08590469],
          [ 0.08617066]])
gmm.covars_
   array([[ 0.00122368],
          [ 0.0012216 ],
          [ 0.00122569]])

R-代码

res<-Mclust(Stamp$thickness)
res$param$mean
0.07215458 0.07935341 0.09919740 
res$param$variance$sigmasq
4.814927e-06 3.097694e-06 1.884615e-04

1 个答案:

答案 0 :(得分:2)

设置 min_covar = 0可以根据需要使用。

gmm = mixture.GMM(n_components=3,n_iter=1000,covariance_type='full',min_covar=0)