错误“不可散列类型:“numpy.ndarray””在计数器功能中
我正在尝试使用 Counter 来获取训练数据集中最常见的单词,但我无法使用列表列表。
这是我的代码:
from collections import Counter
#Inverse transformation of the train dataset
X_train_t=vectorizer.inverse_transform(X_train)
print (Counter(X_train_t).most_common()[-1])
但是我得到了不可散列的类型:'numpy.ndarray'。
X_train_t
的类型为 type(X_train_t)=
。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
inverse_transform( ) 以以下形式返回
numpy.arrays
列表[array(['this', 'is', 'the', 'first', 'document'], dtype='。
使用 numpy.concatenate() 将它们连接起来,以获得以下形式的单个数组:
['this' 'is' 'the' 'first' 'document' 'this'... ]
。Counter
默认按降序排序。因此,[0]
为您提供最常用的单词。这是一个完整的工作示例:
inverse_transform() returns a list of
numpy.arrays
in the form of[array(['this', 'is', 'the', 'first', 'document'], dtype='<U8'), ...]
.Join them using
numpy.concatenate()
to obtain a single array in the form of:['this' 'is' 'the' 'first' 'document' 'this'...]
.Counter
sorts in descending order by default. Thus,[0]
gives you the most frequent word.Here as a full working example: