Data Preprocessing
- 前言
- Why preprocess?
- Major Tasks in Data Preprocessing
- Data Cleaning
- Noisy Data
- Data Transformation and Data Discretization
- Imbalanced Data
- Data Reduction
-
- Dimensionality Reduction
- Principal Component Analysis - PCA (重点)
- PCA approaches
- PCA - steps
- Feature or Attribute Selection
- Feature Selection using Correlation
- Heuristic Search in Attribute Selection
- Relief - Instance-based heuristic for feature selection (在Tutorial中出现过)
- Relief Example
- Relief summary
- Wrappers
- Preprocessing
- Conclusion
前言
本文将基于UoA的课件介绍机器学习中的数据预处理。
涉及的英语比较基础,所以为节省时间(不是full-time,还有其他三门课程,所以时间还是比较紧的),只在我以为需要解释的地方进行解释。
此文不用于任何商业用途,仅仅是个人学习过程笔记以及心得体会,侵必删。
We will cover:
Data Cleaning
Missing Data
Preprocessing and Evaluation
Data Reduction
Noisy Data
Data Transformation and Data Discretization
Imbalanced Data
Why preprocess?
we will…
Major Tasks in Data Preprocessing
Data Cleaning
Incomplete (Missing) Data
What to Consider When Handling Missing Data?
MCAR
缺失完全随机指的是缺失数据的出现与数据本身完全无关,缺失数据的出现没有任何模式或规律,纯粹是随机发生的。完全无关于数据指的是缺失数据与数据本身之间没有任何关联或联系,缺失数据的出现对数据的分析和解释没有影响。
潜在的问题可能出现在样本量较小的情况下,因为缺失数据的样本量较少,可能对结果的可靠性和泛化性产生影响。
MAR
缺失随机指的是缺失数据的出现与缺失数据本身有关,但是与缺失数据所在的行或样本无关,与其他数据的观测值有关。缺失数据的出现和其他数据的观测值之间有关系,也就是说,缺失数据和其他数据有一定的相关性或联系。
潜在的问题可能出现在行删除方式的情况下,因为行删除方式可能会导致样本偏差,即删除了某些缺失值较多或者某些特定属性的数据,从而影响结果的可靠性和泛化性。
MNAR
非随机缺失指的是缺失数据的出现与缺失数据本身有关,与其他数据的观测值无关,缺失的原因是与变量本身相关的。比如说,某些人不愿意透露自己的财产状况,导致财产数据出现缺失。
潜在的问题可能出现在行删除方式的情况下,因为行删除方式可能会导致样本偏差,即删除了某些缺失值较多或者某些特定属性的数据,从而影响结果的可靠性和泛化性
How to Handle Missing Data - Imputation
当某一行数据缺失了类别标签(classification)时,我们通常会采取这种方法来处理。具体操作就是将该行数据直接从数据集中删除。但是这种方法并不适用于缺失值的数量变化很大的情况。在这种情况下,忽略元组的效果会受到影响。
当数据中存在缺失值时,我们可以通过人工的方式来填充这些缺失值,使得数据变得完整。但是这种方法通常比较繁琐,而且有时候可能并不可行,尤其当缺失值较多时。
当数据中存在缺失值时,我们可以使用一些默认值或者新的类别来自动填充这些缺失值,使得数据变得完整。例如,可以使用一个全局的常量值来填充缺失值,或者将缺失值划分为一个新的类别,表示这些数据的特殊性质。
另一种方法是使用该属性的平均值来代替缺失值。这种方法通常由许多软件自动完成,但会改变与其他变量的关系,可能会引入偏差。
在同一类别下的样本中,对于缺失的属性值进行填充,使用的值是该类别下所有样本该属性的平均值。这个方法的优点是可以保持类别内部的一致性,缺点是可能会导致与其他属性之间的关系发生改变,导致数据偏
这个方法是使用基于推断的算法,比如贝叶斯公式、决策树、最近邻等自动填充缺失值。具体来说,通过使用这些算法,从已有的数据中找到最有可能的值来填充缺失的数据。这种方法可以根据已有的数据和模型的推断能力来进行填充,但也可能因为模型的不准确性而导致填充结果不准确。
More on Imputation
矩阵分解方法,例如奇异值分解,可以将数据矩阵X分解为X=UVT的形式。通过将U和VT相乘,可以创建插补矩阵X0。例如,可以在矩阵X中插入一些缺失值,并通过分解矩阵X来估算这些缺失值,最小化估算值与实际值之间的平方误差。分解矩阵X会得到三个矩阵U、和VT,其中U和VT包含每个样本的隐含特征,是奇异值矩阵。插补矩阵X0的值是通过乘以矩阵U、和VT的转置得到的。
Even More on Imputation
EM插补是一种使用其他变量的值来估算缺失值的方法。它包含两个步骤:期望步骤(Expectation)和最大化步骤(Maximization)。
在期望步骤中,使用适当的模型(例如分类器或回归模型)来预测缺失值。这些预测值会作为估算值,用于填充缺失值。
在最大化步骤中,检查估算值是否是最可能的值。这可以通过比较估算值与其他可能的值来实现,选择最可能的值作为最终的填充值。
多次插补(例如MICE)是一种重复使用期望步骤和最大化步骤的方法,通常会重复3-5次。在完成多次插补后,可以进行所需的完整数据分析,例如构建分类器和评估模型性能。
最后,平均估算值或评估结果是通过多次插补得到的,作为最终的插补值或评估结果。
没有一种通用的最佳方法,选择合适的插补方法取决于数据的性质、缺失值的分布以及分析的目标。不同的方法在不同情况下可能会有不同的效果,需要根据具体情况选择合适的方法。
Preprocessing and Evaluation
在数据评估中,预处理步骤的位置通常取决于具体的预处理方法,例如插补(imputati