繁体   English   中英

使用tfidf.vectorizer后如何获得每个类单词的最高tf-idf值

[英]How to get the highest tf-idf values of words for each class after using tfidf.vectorizer

所以我有一个带有 3 个标签的数据集:足球、音乐和电影我使用 tfidf.vectorizer 然后逻辑回归来训练我的模型,现在我想获得每个标签具有最高 tfidf 的 5 个单词的列表。 (足球最高 5 分,音乐最高 5 分……)我找不到获得它们的方法。

这是我拥有的代码

le = preprocessing.LabelEncoder()
y = le.fit_transform(data["Label"])
tfidf = TfidfVectorizer(analyzer = 'word')
X = tfidf.fit_transform(data["text"])

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.1)
lr = LogisticRegression()
lr.fit(X_train, y_train)
lr.score(X_test,y_test)

谢谢您的帮助。

这不是 TFIDF 的工作方式。 矢量化器计算每个文档的单词分数,而不是类别。

要获得每个文档的分数,请使用

X.nonzero()

如果您想获得每个类别的 TFIDF 分数,那么我建议将同一类别的所有文本集中到一个文档中,然后再次运行 TF-IDF。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM