我正在尝试在包含来自两个说话者的句子的数据库上使用 scikit-learn 函数 SelectKBest。我的目标是找到 30 个最好的单词,这些单词可以作为分隔这两个扬声器的特征,我想将它们打印到屏幕上。
这些句子存储在一个列表中sentences[],我有关于每个句子谁是说话者的信息(存储在另一个列表中speakers[])
我还需要为这 K 个最佳特征创建向量,并能够对这些向量使用分类器。
当前代码:(句子包含每个说话者的10000个句子,已排序)
speakers = [0] * 10000 + [1] * 10000
vectorizer = 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 个位置找到这个词,但我不知道该怎么做。
沧海一幻觉
相关分类