原文: https://machinelearningmastery.com/improve-model-accuracy-with-data-pre-processing/
数据准备可以决定您模型的预测能力。
在他们的书 Applied Predictive Modeling 的第 3 章中,Kuhn 和 Johnson 介绍了数据准备过程。他们将其称为训练集数据的添加,删除或转换。
在这篇文章中,您将发现可用于提高模型预测能力的数据预处理步骤。
我喜欢电子表格 照片由 Craig Chew-Molding ,保留一些权利
在建模问题之前,您必须预先处理原始数据。具体准备工作可能取决于您可用的数据和您要使用的机器学习算法。
有时,数据的预处理可能会导致模型准确率的意外改善。这可能是因为数据中的关系已被简化或未被遮挡。
数据准备是一个重要的步骤,您应该尝试适合您的数据的数据预处理步骤,看看您是否能够获得模型准确率的理想提升。
您可以为数据考虑三种类型的预处理:
- 为数据添加属性
- 从数据中删除属性
- 转换数据中的属性
我们将深入研究这三种预处理中的每一种,并查看您可以执行的一些特定操作示例。
高级模型可以从复杂属性中提取关系,尽管某些模型要求明确说明这些关系。从训练数据中获取新属性以包含在建模过程中可以提高模型表现。
- 虚拟属性:分类属性可以转换为 n 二进制属性,其中 n 是属性具有的类别(或级别)的数量。这些非规范化或分解的属性称为虚拟属性或虚拟变量。
- 转换后的属性:可以将变换后的属性变量添加到数据集中,以便允许线性方法利用属性之间可能的线性和非线性关系。可以使用简单的变换,如 log,square 和 square root。
- 缺少数据:缺少数据的属性可以使用可靠的方法(例如 k-最近邻居)估算缺失数据。
某些方法在冗余或重复属性方面表现不佳。通过从数据中删除属性,可以提高模型的准确率。
- 投影:训练数据可以投影到较低维空间,但仍然表征数据中的固有关系。一种流行的方法是主成分分析(PCA),其中该方法找到的主要成分可以作为一组简化的输入属性。
- 空间符号:数据的空间符号投影将数据转换到多维球体的表面。结果可用于突出显示可以修改或从数据中删除的异常值的存在。
- 相关属性:由于存在高度相关的属性,某些算法的重要性会降低。可以识别具有高相关性的成对属性,并且可以从数据中移除最相关的属性。
训练数据的变换可以减少数据的偏度以及数据中异常值的突出性。许多模型希望在应用算法之前转换数据。
- 居中:转换数据,使其平均值为零,标准差为 1。这通常称为数据标准化。
- 缩放:标准缩放变换是将原始比例的数据映射到 0 到 1 之间的比例。这通常称为数据规范化。
- 删除偏斜:偏斜数据是指分布被推送到一侧或另一侧(更大或更小的值)而不是正态分布的数据。某些方法假设正常分布的数据,并且如果消除了偏斜,则可以更好地执行。尝试使用值的日志,平方根或反转替换属性。
- Box-Cox :Box-Cox 变换或变换系列可用于可靠地调整数据以消除偏斜。
- Binning :通过将值分组到 bin 中,可以使数字数据离散。这通常称为数据离散化。此过程可以手动执行,但如果系统地执行并使用在域中有意义的启发式自动执行则更可靠。
数据预处理是准备原始数据进行建模,满足特定机器学习算法数据期望所需的重要步骤,并且可以在模型准确率方面带来意想不到的提升。
在这篇文章中,我们发现了三组数据预处理方法:
- 添加属性
- 删除属性
- 转换属性
下次您希望提高模型准确率时,请考虑您可以为数据设计哪些新视角,以便模型进行探索和利用。