首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CountVectorizer的解释结果

CountVectorizer的解释结果
EN

Stack Overflow用户
提问于 2017-05-27 21:29:15
回答 1查看 515关注 0票数 0

我想创造一袋文字的电影文本,我已经存储在一个熊猫对象名为top100。我的熊猫对象有三个栏:

  • ‘'Name’=电影的标题
  • ' text‘=描述电影的大约500个字的文本
  • ' genre‘=电影的类型

现在,我希望使用sklearn中的CountVectorizer函数为我的数据帧中的每一部电影创建一包列“文本”的单词:

代码语言:javascript
复制
from sklearn.feature_extraction.text import CountVectorizer

bow = CountVectorizer().fit(top100["Text"])
bow.vocabulary_

这将返回一本字典,其中包含所有具有极值的单词:

代码语言:javascript
复制
{u'raining': 6487,
 u'chieko': 1373,
 u'yellow': 9122,
 u'four': 3320,
 u'woods': 9058,
 u'hanging': 3748,
 u'francesca': 3330,
 u'increase': 4163,
 u'electricity': 2667,
 u'doppelg\xe4nger': 2495,
 u'lori': 4886,
 u'demoted': 2164,
 u'lord': 4883,
 u'immature': 4088,
.....

我尝试了很多事情,但我不知道如何解释这个结果。即使我键入了2个小句子,并尝试用它创建一个单词云,它也会创建一个字典,其中包含所有的单词和一些高值。

我真正想让CountVectorizer返回的东西

函数不应该为每部电影创建一个字典。这本词典的关键词应该是所有出现在莫比语的所有文本中的单词。值应该是这些词在这一特定电影的文本中出现的次数。

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2017-05-27 21:41:08

试试这个:

代码语言:javascript
复制
cv = CountVectorizer()
bow = cv.fit_transform(top100["Text"])
r = pd.SparseDataFrame(bow, columns=vect.get_feature_names(), 
                       index=top100.index, default_fill_value=0)

print(r)  # this will help you to undestand how CountVectorizer works...

注意:此解决方案需要Pandas 0.20.0+版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44221776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档