如何在收集的数据上使用TF-IDF进行文本分类?

我正在进行一个个人项目,旨在构建一个文本分类器。我从8个类别中抓取了大约3000篇新闻文章。我有一个数据框,包含每篇文章中每个单词及其所属的文章类别标签。

我在网上看到的答案提到在整篇文章或文本块上使用tfidf。有什么方法可以分析单个单词吗?

以下是我目前数据的示例:

Word:       Category:Mobile      Science/techPhone       Science/techGoogle      Science/techFacebook    Science/techImplant     Science/techInterest    Business/economyBank        Business/economyIMF         Business/economyDownturn    Business/economyPresident   PoliticsDonald      PoliticsTrump       Politicsetc...        etc...

我为糟糕的格式感到抱歉;我在这方面还比较新手。


回答:

没有办法用tf-idf分析单个单词,如果你问这个问题,我认为你对TF-IDF的理解还不清楚。

我会尽量清楚地解释tf-idf。

TF-IDF是一种计算文本中某些单词的“分数”或“权重”的方法,相对于一个语料库(文本集)。这将赋予单词在它们所在的文本中的重要性。因此,对于一个给定单词出现的每个文本,你将得到一个分数。

TF-IDF的第一部分是TF:

  • TF代表词频,它会随着单词在文本中使用的次数增加而使分数增大,使用的次数越多,TF值就越大。

第二部分是IDF:

  • IDF代表逆文档频率,这是一个应该随着术语在整个语料库中重复出现的次数增加而减小的系数。

通过将这两个系数相乘,你将得到一个单词在文本中相对于语料库的“重要性”

这里有一个例子,如果单词“Mobile”出现在两篇文章中,一篇关于商业(如手机的销售),另一篇关于技术,你将在语料库中获得两个“Mobile”的分数,当你在未知文章中遇到这个单词时,你可以将未知文章中不同单词的分数相加,你就能相当准确地判断未知文章在讲什么。

Related Posts

在使用k近邻算法时,有没有办法获取被使用的“邻居”?

我想找到一种方法来确定在我的knn算法中实际使用了哪些…

Theano在Google Colab上无法启用GPU支持

我在尝试使用Theano库训练一个模型。由于我的电脑内…

准确性评分似乎有误

这里是代码: from sklearn.metrics…

Keras Functional API: “错误检查输入时:期望input_1具有4个维度,但得到形状为(X, Y)的数组”

我在尝试使用Keras的fit_generator来训…

如何使用sklearn.datasets.make_classification在指定范围内生成合成数据?

我想为分类问题创建合成数据。我使用了sklearn.d…

如何处理预测时不在训练集中的标签

已关闭。 此问题与编程或软件开发无关。目前不接受回答。…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注