Scikit learn scikit学习kmeans群集溢出错误

Scikit learn scikit学习kmeans群集溢出错误,scikit-learn,unsupervised-learning,Scikit Learn,Unsupervised Learning,在查找KMeans弯头时,它显示溢出错误 elbow=[] for i in range(30): model = KMeans(n_clusters=i) model.fit(feature_matrix) elbow.append(abs(model.score(feature_matrix))) 它给出了溢出错误这可能是因为您从大量集群开始i=0。 使用函数range,可以从0开始 Kmeans(nclusters=0)将失败,因为它将尝试计算log(0)

在查找KMeans弯头时,它显示溢出错误


elbow=[]

for i in range(30):

    model = KMeans(n_clusters=i)
    model.fit(feature_matrix)
    elbow.append(abs(model.score(feature_matrix)))

它给出了
溢出
错误

这可能是因为您从大量集群开始
i=0
。 使用函数
range
,可以从0开始

Kmeans(nclusters=0)
将失败,因为它将尝试计算
log(0)


如果希望测试的集群数量在1到30(包括)之间变化,您可以通过
Kmeans(n_cluster=i+1)
来更改它。

这可能是因为您从集群数量
i=0
开始。 使用函数
range
,可以从0开始

Kmeans(nclusters=0)
将失败,因为它将尝试计算
log(0)

如果希望测试的集群数量在1到30(包括)之间变化,您可以通过
Kmeans(n_cluster=i+1)
对其进行更改

/opt/conda/lib/python3.6/site-packages/sklearn/cluster/k_means_.py:90: RuntimeWarning: divide by zero encountered in log
  n_local_trials = 2 + int(np.log(n_clusters))