在进行K—means聚类时,遇到了图片所示错误
原代码在jupyter的notebook上已经成功运行过了,但在上传至和鲸社区后却遇到图片上的错误,检查后也没有发现上传导致代码错误的情况,原代码如下
#K-Means聚类算法
K_data = data[['Last_Login_Days_Ago','Purchase_Frequency','Total_Spending']]
K_data.head()
from sklearn.preprocessing import StandardScaler
#采用StandardScaler方法对数据规范化:均值为0,方差为1的正态分布
stand_data = StandardScaler().fit_transform(K_data)
stand_data = pd.DataFrame(stand_data,columns=['R','F','M'],index=K_data.index+1)
stand_data.head()
from sklearn.cluster import KMeans
import random
#根据肘部法,利用最小的SSE原则确定簇数量,选择最佳的K值
SSE = []
for i in range(1,11):
kmeans = KMeans(n_clusters = i,random_state = 124,n_init= 'auto')
kmeans.fit(stand_data)#拟合
SSE.append(kmeans.inertia_)#inertia是样本距离最近的聚类中心的总和
plt.plot(range(1,11),SSE,marker = 'o')
plt.show()
错误是最后确定k值的时候产生的,根据系统提示TypeError: '<=' not supported between instances of 'str' and 'int',有尝试过将stand_data中的数字转化为int格式,但貌似本身就是int格式了,所以错误并没有消失,有哪位朋友知道是怎么回事吗,感谢解答!