【问题标题】:'KMeans' object has no attribute 'cluster_centers_'“KMeans”对象没有属性“cluster_centers_”
【发布时间】:2020-11-03 01:13:08
【问题描述】:

我正在使用 Jupyter 笔记本,我编写了以下代码:

from sklearn.datasets import make_blobs
dataset = make_blobs(n_samples=200, centers = 4,n_features = 2, cluster_std = 1.6, random_state = 50)
points = dataset[0];
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters = 4)
kmeans.fit(points)
plt.scatter(dataset[0][:,0],dataset[0][:,1])
clusters = kmeans.cluster_centers_

// 下面一行给出了错误:'KMeans' object has no attribute 'cluster_centers_'

clusters = kmeans.cluster_centers_

我期待它显示点的平均值或平均值。

【问题讨论】:

    标签: python k-means


    【解决方案1】:

    在您的示例中不清楚您的语句是在您致电 fit 之前还是之后。该属性在fit 方法中定义。你是在fit 之前还是之后调用你的函数?

    如果你这样做,会有一个错误:

    from sklearn.datasets import make_blobs
    import matplotlib.pyplot as plt
    
    dataset = make_blobs(n_samples=200, centers = 4,n_features = 2, cluster_std = 1.6, random_state = 50)
    points = dataset[0]
    
    from sklearn.cluster import KMeans
    kmeans = KMeans(n_clusters=4)
    clusters = kmeans.cluster_centers_
    kmeans.fit(points)
    
    plt.scatter(dataset[0][:,0],dataset[0][:,1])
    

    但是这种方式不会产生错误

    from sklearn.datasets import make_blobs
    import matplotlib.pyplot as plt
    
    dataset = make_blobs(n_samples=200, centers = 4,n_features = 2, cluster_std = 1.6, random_state = 50)
    points = dataset[0]
    
    from sklearn.cluster import KMeans
    kmeans = KMeans(n_clusters=4)
    kmeans.fit(points)
    clusters = kmeans.cluster_centers_
    
    plt.scatter(dataset[0][:,0],dataset[0][:,1])
    

    【讨论】:

      猜你喜欢
      • 2023-02-23
      • 2020-01-11
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 2021-05-08
      • 2021-06-15
      • 2022-08-23
      • 2022-11-29
      相关资源
      最近更新 更多