【问题标题】:AttributeError: 'GMM' object has no attribute 'covariances_' || AttributeError: 'module' object has no attribute 'GaussianMixture'AttributeError: 'GMM' 对象没有属性 'covariances_' || AttributeError:“模块”对象没有属性“GaussianMixture”
【发布时间】:2018-08-28 18:40:36
【问题描述】:

我有一段代码可以为我的数据拟合高斯模型。我从 sklearn 进口了混合物。然而,即使我使用 mix.GaussianMixture 我得到一个错误:AttributeError:'module'对象没有属性'GaussianMixture',如果我使用其他方式,它会给出错误:AttributeError:'GMM'对象没有属性'covariances_'。我什至尝试导入协方差,但似乎不起作用。谁能告诉我如何解决这个错误。

from sklearn import mixture   

# Fit a Gaussian mixture with EM using five components
gmm = mixture.GaussianMixture(n_components=5, covariance_type='full').fit(X) 
gmm = GMM(n_components=3, covariance_type='full')

【问题讨论】:

    标签: python scikit-learn


    【解决方案1】:

    在从 0.18 开始的新版本中,GMM 已被弃用,并使用 GaussianMixture 代替它,如 documentation here. 中所示

    现在对于您的第一个错误,您似乎有一个旧版本的 scikit-learn,它还没有 GaussianMixture 类。对于您的第二个错误,较旧的 GMM 没有属性 covariances_。请改用covars_ 属性。见老的documentation here:-

    covars_ : 数组

    Covariance parameters for each mixture component. 
    The shape depends on covariance_type:
    

    那么它不会抛出任何错误。

    将 scikit-learn 更新到最新版本,以使用 GaussianMixture 类中的covariances_ 属性。

    【讨论】:

    • 将 scikit learn 的版本更新到 0.18 有效:) 谢谢
    猜你喜欢
    • 2010-11-18
    • 2019-05-17
    相关资源
    最近更新 更多