Sklearn.mixture.dpgmm无法正常运行

时间:2015-11-20 00:38:14

标签: scikit-learn

我遇到了sklearn.mixture.dpgmm的问题。主要问题是它没有返回合成数据的正确协方差(2个分离的2D高斯),它确实应该没有问题。特别是,当我执行dpgmm._get_covars()时,无论输入数据分布如何,协方差矩阵都具有始终精确地为1.0的对角元素。这似乎是一个错误,因为gmm完美地工作(当限制到已知的确切数量的组时)

另一个问题是dpgmm.weights_没有意义,它们总和为1,但值显得毫无意义。

有没有人有解决方法或看到我的例子明显错误?

以下是我正在运行的确切脚本:

linkList.contains(new Cookies("Name2", 3, 1)); 

2 个答案:

答案 0 :(得分:1)

根据dpgmm docs此版本在版本0.18中已弃用,将在版本0.20中删除

您应该使用BayesianGaussianMixture类,而参数weight_concentration_prior_type设置为选项"dirichlet_process"

希望有所帮助

答案 1 :(得分:0)

而不是写

from sklearn.mixture import GMM
gmm = GMM(2, covariance_type='full', random_state=0)

你应该写:

from sklearn.mixture import BayesianGaussianMixture
gmm = BayesianGaussianMixture(2, covariance_type='full', random_state=0)