为了账号安全,请及时绑定邮箱和手机立即绑定

Python scikit-learn 从说话者的句子中选择最佳单词

Python scikit-learn 从说话者的句子中选择最佳单词

慕容708150 2021-09-11 18:32:32
我正在尝试在包含来自两个说话者的句子的数据库上使用 scikit-learn 函数 SelectKBest。我的目标是找到 30 个最好的单词,这些单词可以作为分隔这两个扬声器的特征,我想将它们打印到屏幕上。这些句子存储在一个列表中sentences[],我有关于每个句子谁是说话者的信息(存储在另一个列表中speakers[])我还需要为这 K 个最佳特征创建向量,并能够对这些向量使用分类器。当前代码:(句子包含每个说话者的10000个句子,已排序)speakers = [0] * 10000 + [1] * 10000vectorizer = TfidfVectorizer()vectors = vectorizer.fit_transform(sentences)kbest = SelectKBest(chi2, k=30).fit(vectors, speakers)outcome = kbest.get_support()for i in range(0,len(sentences)):    if outcome[i]:        print (sentences[i])我不确定它是否找到了正确的单词或选择了整个句子,如果找到了,我也不太确定如何打印它找到的单词。(目前,它显然会打印整个句子,因为我正在直接打印一个句子,该句子与 SelectKBest 找到的内容具有匹配的索引)。我可能需要在特征向量的第 i 个位置找到这个词,但我不知道该怎么做。
查看完整描述

2 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

你可以得到由给出的前 k 个词 SelectKBest

print([vectorizer.get_feature_names()[idx] for idx,flag in enumerate(outcome) if flag])


查看完整回答
反对 回复 2021-09-11
  • 2 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号