作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 scikit-learn 从“词袋”文本(在单个词上标记化的文本)中提取文本特征。为此,我使用了 TfidfVectorizer还可以减少非常频繁出现的单词(即:“a”、“the”等)的权重。
text = 'Some text, with a lot of words...'
tfidf_vectorizer = TfidfVectorizer(
min_df=1, # min count for relevant vocabulary
max_features=4000, # maximum number of features
strip_accents='unicode', # replace all accented unicode char
# by their corresponding ASCII char
analyzer='word', # features made of words
token_pattern=r'\w{4,}', # tokenize only words of 4+ chars
ngram_range=(1, 1), # features made of a single tokens
use_idf=True, # enable inverse-document-frequency reweighting
smooth_idf=True, # prevents zero division for unseen words
sublinear_tf=False)
# vectorize and re-weight
desc_vect = tfidf_vectorizer.fit_transform([text])
我现在希望能够将每个预测特征与其相应的 tfidf
浮点值联系起来,将其存储在字典中
{'feature1:' tfidf1, 'feature2': tfidf2, ...}
我是通过使用实现的
d = dict(zip(tfidf_vectorizer.get_feature_names(), desc_vect.data))
我想知道是否有更好的 scikit-learn 本地方法来做这样的事情。
非常感谢。
最佳答案
对于单个文档,这应该没问题。另一种适用于文档集较小的方法是 this recipe of mine使用 Pandas .
如果你想对多个文档执行此操作,那么你可以修改 DictVectorizer.inverse_transform
中的代码:
desc_vect = desc_vect.tocsr()
n_docs = desc_vect.shape[0]
tfidftables = [{} for _ in xrange(n_docs)]
terms = tfidf_vectorizer.get_feature_names()
for i, j in zip(*desc_vect.nonzero()):
tfidftables[i][terms[j]] = X[i, j]
关于python - 将文本特征名称链接到它们的 tfidf 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15361885/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!