首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用卡方检验从文档中计算关键字?

如何使用卡方检验从文档中计算关键字?
EN

Stack Overflow用户
提问于 2018-07-28 20:38:33
回答 1查看 858关注 0票数 3

我想用卡方检验从文档中提取关键术语,因此我尝试了以下方法:

代码语言:javascript
复制
from sklearn.feature_extraction.text  import CountVectorizer
from sklearn.feature_selection import  SelectKBest, chi2

Texts=["should schools have uniform","schools discipline","legalize marriage","marriage culture"]
vectorizer = TfidfVectorizer()
term_doc=vectorizer.fit_transform(Texts)
ch2 = SelectKBest(chi2, "all")
X_train = ch2.fit_transform(term_doc)
print (ch2.scores_)
vectorizer.get_feature_names()

但是,我没有标签,当我运行上面的代码时,我得到了:

代码语言:javascript
复制
TypeError: fit() missing 1 required positional argument: 'y'

有没有办法使用卡方检验来提取最重要的单词,而不需要任何标签?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-29 01:07:40

卡方统计检验两个变量之间的相关性。因此,在无监督(无标签)问题中,这不是用于特征选择的正确统计数据。

根据删除功能的目标,您可以在TfidfVectorizer中应用一些功能预处理。您可以设置向量化器的阈值,以丢弃非常常见的单词和非常罕见的单词。例如,将向量化器定义为:

代码语言:javascript
复制
TfidfVectorizer(min_df=0.01, max_df=0.9)

将删除不到1%的文档或超过90%的文档中出现的单词。

如果您删除不重要特征的目标是为后续分析显著降低问题的维度,您可能还会发现像TruncatedSVD这样的降维技术非常有用。

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

https://stackoverflow.com/questions/51571488

复制
相关文章

相似问题

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