在使用多个文本输入特征运行机器学习二元分类时如何估算缺失值

问题描述

我花了很多时间试图为我的问题找到好的答案..
在使用多个(比如两个)文本输入运行机器学习二元分类时,如何估算两个输入特征中的缺失值?
我只是用一个简单的例子来澄清我的问题。
假设我试图对每篇新闻文章进行分类,无论它是否属于“政治”部分(二元分类)。两个输入特征是“文章内容”和“文章标题”,它们由文本组成。
为了解决一般的任务,我需要对这两个输入进行预处理并对每个输入进行矢量化(使用 countvectorizer 或 tf-idf 等),然后将两个矢量化矩阵连接成一个,然后选择任何二进制分类后面分析的方法
这里我的问题是,如何估算任何缺失值,尤其是当输入是文本时?我知道有几种方法可以做到这一点,例如估算平均值等。但是,当输入是数字(例如人的年龄或收入)时,这将成为一项简单的任务。
在这里再次总结我的问题:
1)当输入是文本时,有没有办法估算缺失值?
2) 一种方法删除有缺失值的一行,但我想让它保持活动状态,因为一个输入值可能缺失但不是另一个输入值(就像文章中的 Article_ID B & C 案例一样下面的例子)。
为了便于说明,将非常简化的数据集示例可视化,这里是。请注意,这是我想出来的一个假数据集,只是为了提供一个例子。

Article_ID    Politics(class)     Contents(input 1)                  Title(input 2)
A              Yes                 The justices heard...             Supreme Court Seems...
B              Yes                 N/A                               U.S. to Begin Offering...
C              No                  The announcement comes as...      N/A
D              Yes                 The two countries said...         Despite Tensions,U.S. ...
E              No                  Movie streaming service is...     Two more seasons renewed...

解决方法

如果您要连接两个输入,则可以使用一些选项来代替缺失的文本:

zero vector

constant * array(size(vector)) where constant can be (1e-4,1 / N),N = vocab length or vector length and the array is a vector of ones

因为无论您对未知文本使用何种向量,模型都有责任确定其在最终预测中的重要性。