我是python的新手。实际上我有一个单词的火车数据。火车数据的每一行都是一篇文章。列车数据的标签在另一个文件中,每个i标签等于列车数据中的i文章。我确实干预了列车数据并删除了停用词。输出是每篇文章(行)的单词列表。现在我想提取它的特征向量,然后在python中的KNN分类器中使用它。我不知道该怎么做!我很欣赏任何快速的答案。这是我的代码,直到我所做的事情:
import nltk
from nltk.corpus import stopwords
from nltk import stem
stemmer=stem.PorterStemmer()
with open('data.txt')as file:
while 1:
line=file.readline().split()
filtered_words = [w for w in line if not w in stopwords.words('english')]
documents = [stemmer.stem(line) for line in filtered_words]
print(documents)
if not line:
break
pass
答案 0 :(得分:1)
看看Scikit-learn的CountVectorizer或TfIdfVectorizer。这些可以获取文档列表(这些是令牌列表,如示例中所示)作为输入,并返回一个特征矩阵:
from sklearn.feature_extraction.text import CountVectorizer
count_vect = CountVectorizer()
X_train_counts = count_vect.fit_transform(your_list_of_documents)
中找到更多信息