2014-12-07 79 views
3

我試圖在Scikit中複製結果學習MC中的GMM R.結果我得到的結果是不同的。我已經嘗試了mixture.GMM中的不同協方差結構。我如何獲得Python版本匹配?更簡單的例子工作正常,但有了這種差異結構,我無法讓它工作。Python Scikit學習與R Mclust的GMM結果不一致

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 

回答

2

設置min_covar = 0使其工作,因爲你需要。

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