为何调用fit()后仍出现KMeans无intertia_属性的错误?
问题解决:AttributeError: 'KMeans' object has no attribute 'intertia_'
我查阅了相关帖子,帖子提示需调用fit(),但我已执行该操作仍报错。代码改编自JupyterLab Notebook,因此错误信息中的行号不正确。
原代码
aDF = pd.DataFrame([[1,2,3,4,5],[100,200,300,400,500]]) print (aDF) wcss = [] for i in range(1, 11): kmeans = KMeans(n_clusters=i, random_state=0) kmeans.fit(aDF) wcss.append(kmeans.intertia_)
错误信息
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Input In [102], in <cell line: 2>() 3 kmeans = KMeans(n_clusters=i, random_state=0) 4 kmeans.fit(aDF) ----> 5 wcss.append(kmeans.intertia_) AttributeError: 'KMeans' object has no attribute 'intertia_'
问题原因及解决办法
这是拼写错误导致的:你把KMeans的属性名写成了intertia_,正确的属性名应该是inertia_(多一个字母'n')。
修正后的代码:
aDF = pd.DataFrame([[1,2,3,4,5],[100,200,300,400,500]]) print (aDF) wcss = [] for i in range(1, 11): kmeans = KMeans(n_clusters=i, random_state=0) kmeans.fit(aDF) wcss.append(kmeans.inertia_) # 此处修正了拼写错误
内容的提问来源于stack exchange,提问作者nicomp
相关产品推荐
相关产品推荐

