【问题标题】:GaussianMixture equivalents for GMM functions (sklearn python)GMM 函数的 GaussianMixture 等效项(sklearn python)
【发布时间】:2018-06-07 13:44:12
【问题描述】:

我正在处理从合作者那里收到的代码,它包含来自 sklearn 中已弃用的 GMM 类的两个函数: Distribute_covar_matrix_to_match_covariance_type log_multivariate_normal_density

由于我对它背后的数学不太熟悉,我很难在新的 GaussianMixture 类中找到等效的函数。任何帮助将不胜感激!

调用函数的部分代码如下:

for x in models:
  bics=[]
  gmm = mixture.GMM(n_components=x, n_iter=100000, n_init=5, covariance_type='full')
  gmm.fit(np.array(s))
  bic.append(gmm.bic(np.array(s)))
return bic.index(min(bic))+2

【问题讨论】:

  • 请提及两个 scikit 版本,以及您在做什么的示例代码?
  • 我想我已经安装了 19.1(上面更新了代码)
  • 较新的版本还有一个bic() method,我认为它可以工作而不必过多担心库的内部运作。
  • 噢,非常感谢!那么我应该只更改 GaussianMixture 的混合和 GMM 吗? (我猜 n_iter 到 max_iter?)对于模型中的 x: bics=[] gmm = GaussianMixture(n_components=x, max_iter=100000, n_init=5, covariance_type='full') gmm.fit(np.array(s) ) bic.append(gmm.bic(np.array(s))) return bic.index(min(bic))+2
  • 等等,我明白了:D 非常感谢!对于模型中的 x: bics=[] gmm = mix.GaussianMixture(n_components=x, max_iter=100000, n_init=5, covariance_type='full') gmm.fit(np.array(s)) bic.append(gmm. bic(np.array(s))) return bic.index(min(bic))+2

标签: python scikit-learn deprecated gmm


【解决方案1】:

解决方法:只需将“GMM”替换为“GaussianMixture”,将“n_iter”替换为“max_itern”即可:

for x in models:
  bics=[]
  gmm = mixture.GaussianMixture(n_components=x, max_iter=100000, n_init=5, covariance_type='full')
  gmm.fit(np.array(s))
  bic.append(gmm.bic(np.array(s)))
return bic.index(min(bic))+2

谢谢@Vivek Kumar

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-23
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    • 2014-04-02
    • 1970-01-01
    相关资源
    最近更新 更多