我正在使用 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_
Run Code Online (Sandbox Code Playgroud)
// 下面的行给出错误: 'KMeans' 对象没有属性 'cluster_centers_'
clusters = kmeans.cluster_centers_
Run Code Online (Sandbox Code Playgroud)
我期望它显示点的平均值或平均值。
在您的示例中不清楚您的语句是在 call 之前还是之后出现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])
Run Code Online (Sandbox Code Playgroud)
但这种方式不会产生错误
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])
Run Code Online (Sandbox Code Playgroud)