Python 如何在线性SVC中加入频率因子?

Python 如何在线性SVC中加入频率因子?,python,machine-learning,scikit-learn,svc,Python,Machine Learning,Scikit Learn,Svc,我使用线性svc scikit学习将新闻分类为体育、健康、世界、科技、生活方式等类别。现在,对于给定的文本,假设它有: 1.5次出现word windows和3次出现word machine it未分类为技术,但如果我使用相同的文本并将windows和machine的出现次数分别增加到12和10,则会分类为技术 那么,有没有一种方法可以提高线性svc中任何相关类词的重要性呢?您基本上是在寻找TF-IDF。这里TF表示术语频率,即文档中术语的计数/文档中术语的总数。这将帮助您获取文档中最常用的术语

我使用线性svc scikit学习将新闻分类为体育、健康、世界、科技、生活方式等类别。现在,对于给定的文本,假设它有: 1.5次出现word windows和3次出现word machine it未分类为技术,但如果我使用相同的文本并将windows和machine的出现次数分别增加到12和10,则会分类为技术


那么,有没有一种方法可以提高线性svc中任何相关类词的重要性呢?

您基本上是在寻找TF-IDF。这里TF表示术语频率,即文档中术语的计数/文档中术语的总数。这将帮助您获取文档中最常用的术语。然而,在这种情况下,一些出现频率较低的术语可能对分类更为重要,或者说对分类具有更大的权重。在这种情况下,您将包含反向文档频率IDF。它计算为logTotal documents/包含特定术语(如“x”)的文档数

最后乘以Tf*IDF值,得到该项的Tf-IDF

这是简短的

这是一个

参考资料:


我已经在使用TFIDF矢量器,但我需要增加某些特定术语的权重,是否可以显式增加某些单词的重要性?我认为您需要修改分类器的不同参数,而不是使用网格搜索等来修改数据本身。如果您可以发布代码,我可以更好地解释它。