Skip to content

Latest commit

 

History

History
68 lines (41 loc) · 4.66 KB

improve-model-accuracy-with-data-pre-processing.md

File metadata and controls

68 lines (41 loc) · 4.66 KB

通过数据预处理提高模型准确率

原文: https://machinelearningmastery.com/improve-model-accuracy-with-data-pre-processing/

数据准备可以决定您模型的预测能力。

在他们的书 Applied Predictive Modeling 的第 3 章中,Kuhn 和 Johnson 介绍了数据准备过程。他们将其称为训练集数据的添加,删除或转换。

在这篇文章中,您将发现可用于提高模型预测能力的数据预处理步骤。

i love spreadsheets

我喜欢电子表格 照片由 Craig Chew-Molding ,保留一些权利

数据准备

在建模问题之前,您必须预先处理原始数据。具体准备工作可能取决于您可用的数据和您要使用的机器学习算法。

有时,数据的预处理可能会导致模型准确率的意外改善。这可能是因为数据中的关系已被简化或未被遮挡。

数据准备是一个重要的步骤,您应该尝试适合您的数据的数据预处理步骤,看看您是否能够获得模型准确率的理想提升。

您可以为数据考虑三种类型的预处理:

  • 为数据添加属性
  • 从数据中删除属性
  • 转换数据中的属性

我们将深入研究这三种预处理中的每一种,并查看您可以执行的一些特定操作示例。

添加数据属性

高级模型可以从复杂属性中提取关系,尽管某些模型要求明确说明这些关系。从训练数据中获取新属性以包含在建模过程中可以提高模型表现。

  • 虚拟属性:分类属性可以转换为 n 二进制属性,其中 n 是属性具有的类别(或级别)的数量。这些非规范化或分解的属性称为虚拟属性或虚拟变量。
  • 转换后的属性:可以将变换后的属性变量添加到数据集中,以便允许线性方法利用属性之间可能的线性和非线性关系。可以使用简单的变换,如 log,square 和 square root。
  • 缺少数据:缺少数据的属性可以使用可靠的方法(例如 k-最近邻居)估算缺失数据。

删除数据属性

某些方法在冗余或重复属性方面表现不佳。通过从数据中删除属性,可以提高模型的准确率。

  • 投影:训练数据可以投影到较低维空间,但仍然表征数据中的固有关系。一种流行的方法是主成分分析(PCA),其中该方法找到的主要成分可以作为一组简化的输入属性。
  • 空间符号:数据的空间符号投影将数据转换到多维球体的表面。结果可用于突出显示可以修改或从数据中删除的异常值的存在。
  • 相关属性:由于存在高度相关的属性,某些算法的重要性会降低。可以识别具有高相关性的成对属性,并且可以从数据中移除最相关的属性。

转换数据属性

训练数据的变换可以减少数据的偏度以及数据中异常值的突出性。许多模型希望在应用算法之前转换数据。

  • 居中:转换数据,使其平均值为零,标准差为 1。这通常称为数据标准化。
  • 缩放:标准缩放变换是将原始比例的数据映射到 0 到 1 之间的比例。这通常称为数据规范化。
  • 删除偏斜:偏斜数据是指分布被推送到一侧或另一侧(更大或更小的值)而不是正态分布的数据。某些方法假设正常分布的数据,并且如果消除了偏斜,则可以更好地执行。尝试使用值的日志,平方根或反转替换属性。
  • Box-Cox :Box-Cox 变换或变换系列可用于可靠地调整数据以消除偏斜。
  • Binning :通过将值分组到 bin 中,可以使数字数据离散。这通常称为数据离散化。此过程可以手动执行,但如果系统地执行并使用在域中有意义的启发式自动执行则更可靠。

摘要

数据预处理是准备原始数据进行建模,满足特定机器学习算法数据期望所需的重要步骤,并且可以在模型准确率方面带来意想不到的提升。

在这篇文章中,我们发现了三组数据预处理方法:

  • 添加属性
  • 删除属性
  • 转换属性

下次您希望提高模型准确率时,请考虑您可以为数据设计哪些新视角,以便模型进行探索和利用。