此代码用于在每个群集上进行索引和排序,以识别哪些是最接近群集质心的前n个(我选择n = 6个)单词。无论如何,我发现了这种错误:'float'对象没有属性'encode'
谁能帮我?代码如下:
from __future__ import print_function
print("Top terms per cluster:")
print()
#sort cluster centers by proximity to centroid
order_centroids = km.cluster_centers_.argsort()[:, ::-1]
for i in range(num_clusters):
print("Cluster %d words:" % i, end='')
for ind in order_centroids[i, :6]: #replace 6 with n words per cluster
print(' %s' % vocab_frame.ix[terms[ind].split(' ')].values.tolist()[0][0].encode('utf-8', 'ignore'), end=',')
print() #add whitespace
print() #add whitespace
print("Cluster %d titles:" % i, end='')
for title in frame.ix[i]['title'].values.tolist():
print(' %s,' % title, end='')
print() #add whitespace
print() #add whitespace
print()
print()
先感谢您
方法encode
只能应用于字符串,而不能应用于浮点数。
你可以将float转换为字符串,但显然这没有多大意义。
您似乎只是从互联网上获得了一些您不理解的复制和粘贴代码。也许你应该首先专注于理解代码,然后运行它。一旦理解了代码,就应该明白错误的来源,以及如何正确修复它。