数据预处理:处理缺失值与非结构化数据
1. 引言
在数据处理和机器学习中,我们常常会遇到缺失数据以及非结构化数据(如文本数据)的问题。非结构化数据指的是未以传统行列数据库形式呈现的数据,与存储在数据库字段中的结构化数据相反。非结构化数据通常以文本为主,但也可能包含日期、数字和事实等信息。接下来,我们将重点探讨如何处理缺失数据和非结构化数据。
2. 处理缺失数据
2.1 缺失值带来的问题
缺失值在许多机器学习任务中,理论和实践上都会带来问题,尤其是当目标变量中存在缺失值时。这里主要讨论输入变量中存在缺失值的常见情况。数据中的缺失值几乎总是存在且令人担忧。当输入变量存在缺失值时,需要考虑缺失值是随机分布的,还是与目标变量存在某种预测关系。
如果输入数据中的缺失值是随机出现的,那么可以在分析时删除包含缺失值的输入行,而不会给模型引入偏差。然而,这种完全案例分析可能会从训练数据中移除大量信息,降低模型的预测准确性。许多SAS可视化数据挖掘和机器学习中的建模算法都采用完全案例分析(如线性和逻辑回归、神经网络和支持向量机)。完全案例分析和均值插补都假设数据是完全随机缺失的。
当缺失值不是随机的、依赖于输入或具有某种规律性时,插补会成为一个更复杂的问题。虽然有一种简单的方法通常很有用,但要知道这并不总是最佳选择。缺失值会影响模型的构建和部署。
2.2 缺失值的具体问题
2.2.1 高维数据中的数据损失
即使只有少量缺失值,在高维数据中也可能导致大量数据丢失。例如,假设每个k个输入变量随机缺失的概率为α,那么完整案例的预期比例为(1 - α)^k。当α = 0.
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



