0
運行KMEANS我想用五個特點運行K均值聚類算法。 (K = 4)不過,我得到一個索引錯誤說這:IndexError:列表索引超出範圍,而在Python
> Traceback (most recent call last):
> File
> "C:\....py", line 756,
> in <module>
> plt.plot(X[i][0],X[i][1],colors[labels[i]],markersize=10)
> IndexError: list index out of range
這裏有一個代碼片段正在生成錯誤:
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
kmeans = KMeans(n_clusters=4)
kmeans.fit(X)
centroid = kmeans.cluster_centers_
labels = kmeans.labels_
fig = plt.figure(figsize=(9,7), dpi=100)
colors = ["r.","b.","y."]
df_clustering = []
for i in range(len(X)):
print ("ID:", df_features['id'].loc[[i]].values[0], "coordinate:" , X[i], "label:", labels[i])
df_clustering.append((df_features['id'].loc[[i]].values[0], labels[i]))
# below line is generating an error
plt.plot(X[i][0],X[i][1],colors[labels[i]],markersize=10)
顯然,清單'X'的一個或'labels'在這話說出來索引的範圍時。檢查'X'和'labels'的長度以確保您的通話正確無誤。 – rojeeer
兩者都返回136,當k = 3時返回的值相同。而且,當索引值是27時,它停在那裏。什麼可能是其他可能的原因? – ejshin1