奇怪的错误在sklearn.cluster.KMeans



我想在我的硕士论文中使用yasaichi先生用Python编写的x-means实现(yasaichi的x-means: https://gist.github.com/yasaichi/254a060eff56a3b3b858)。在过去的几周里,没有任何问题,我已经在不同的数据集上运行了几次算法。然而,今天,一个奇怪的错误弹出:

AttributeError: 'KMeans'对象没有'get_params'属性。

这个错误来自yasaichi的实现中的第75行:

标签=范围(0,k_means.get_params()("n_clusters"))

最初我以为是我对代码做了一些奇怪的改变,但是当我重新下载原始代码时,它又出现了同样的错误。

任何想法?

听起来像您试图使用的KMeans对象没有方法get_params

我刚刚在https://gist.github.com/yasaichi/254a060eff56a3b3b858测试了代码,它为我工作。因此,我最好的猜测是,您以某种方式覆盖了KMeans对象,或者您的代码使用了定义KMeans对象的代码的缓存版本。

为了验证这一点,尝试在yasaichi实现的第75行之前添加print dir(k_means)。您还应该看到print k_means.__module__应该显示sklearn.cluster.k_means_。如果是这种情况,我建议的最后一件事是删除实现k_means_模块的编译Python文件。可以通过运行以下命令找到:

import sklearn.cluster.k_means_
print sklearn.cluster.__file__

相关内容

  • 没有找到相关文章

最新更新