如何将TFIDF特征与其他特征结合

我有一个经典的NLP问题,我需要将新闻分类为假新闻或真实新闻。

我创建了两组特征:

A) 双-gram项频-逆文档频率

B) 使用pattern.en (https://www.clips.uantwerpen.be/pages/pattern-en) 获得的每个文档相关的大约20个特征,如文本的主观性、极性、停用词数量、动词数量、主语数量、语法关系等…

将TFIDF特征与其他特征结合起来进行单一预测的最佳方法是什么?非常感谢大家。


回答:

我不确定你是在技术上询问如何在代码中组合两个对象,还是在理论上询问接下来该怎么做,所以我将尝试回答这两个问题。

从技术上讲,你的TFIDF只是一个矩阵,其中行是记录,列是特征。因此,要进行组合,你可以将新特征作为列附加到矩阵的末尾。可能你的矩阵是一个稀疏矩阵(来自Scipy),如果你使用sklearn来做的话,所以你必须确保你的新特征也是一个稀疏矩阵(或者使其他变为密集矩阵)。

这就给你提供了训练数据,至于接下来该怎么做就有点棘手了。你的双-gram频率矩阵的特征将是稀疏的(我这里不是在谈论数据结构,我只是说你会有很多0),而且它将是二进制的。而你的其他数据是密集且连续的。这在大多数机器学习算法中都可以运行,尽管预测可能会主要由密集变量主导。然而,通过一些特征工程,我过去使用树集成构建了几个分类器,这些分类器使用了结合了一些更密集变量的词频变量,并提供了增强的效果(例如,一个分类器查看Twitter个人资料并将其分类为公司或个人)。通常,当我至少能将密集变量分箱为二进制(或分类然后热编码为二进制)时,我发现效果更好,这样它们就不会占主导地位。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

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