机器学习-数据预处理
2024-10-21 15:47:08 1 举报
AI智能生成
机器学习-数据预处理
作者其他创作
大纲/内容
数据预处理
为什么要做数据预处理
子主题
(1)存在缺失值:部分字段没有信息,需要补充缺失值。
(2)存在异常值:部分字段因为记录错误,导致出现不在正常取值范围内的数值。
(3)具有不同单位、度量范围的数据很难放在一起比较,需要通过某些方法让所有数据的取值都处在一个范围里
(4)信息表达的意义不准确:对于某些定量特征,其包含的信息是以区间划分的数值,不同数值代表的含义有很大差别。
(5)定性特征不能直接使用:某些机器学习算法和模型只能接受定量特征的输入,需要将定性特征转换为定量特征。
(6)信息利用率低:不同的机器学习算法和模型对数据中信息的利用是不同的,部分数据的表达能力比较弱,需要通过数据增强的手段才能让机器更容易理解。
(2)存在异常值:部分字段因为记录错误,导致出现不在正常取值范围内的数值。
(3)具有不同单位、度量范围的数据很难放在一起比较,需要通过某些方法让所有数据的取值都处在一个范围里
(4)信息表达的意义不准确:对于某些定量特征,其包含的信息是以区间划分的数值,不同数值代表的含义有很大差别。
(5)定性特征不能直接使用:某些机器学习算法和模型只能接受定量特征的输入,需要将定性特征转换为定量特征。
(6)信息利用率低:不同的机器学习算法和模型对数据中信息的利用是不同的,部分数据的表达能力比较弱,需要通过数据增强的手段才能让机器更容易理解。
数据预处理主要分为数据清洗、数据集成、数据变换及数据归约四个步骤
在数据清洗阶段,我们试图填充缺失的值,光滑噪声点和识别离群点,并纠正数据中不一致的取值。
在数据集成阶段,我们会将多个数据源中的数据整合存放在统一的数据源中,这样做有助于减少结果数据集的冗余和不一致,提高后续建模的准确性和速度。
在数据变换阶段,我们通过平滑聚集、数据概化、规范化等方式将数据转换成适用于数据挖掘的形式。
在数据归约阶段,在尽可能保持数据原貌的前提下,最大限度地精简数据量。
这样,使用归约后的数据集训练模型更加高效,并且能够产生与原数据集相同的分析结果
在数据集成阶段,我们会将多个数据源中的数据整合存放在统一的数据源中,这样做有助于减少结果数据集的冗余和不一致,提高后续建模的准确性和速度。
在数据变换阶段,我们通过平滑聚集、数据概化、规范化等方式将数据转换成适用于数据挖掘的形式。
在数据归约阶段,在尽可能保持数据原貌的前提下,最大限度地精简数据量。
这样,使用归约后的数据集训练模型更加高效,并且能够产生与原数据集相同的分析结果
数据清洗
通常情况下,我们可以按照格式标准化、错误纠正、异常数据处理以及清除重复数据这样的顺序检查数据问题并且选择合适的方法处理其中待改善的数据
子主题
格式标准化
我们首先统一数据格式规范。
最后检查数据中不应该出现的字符,最常见的是字段中头部、中部、尾部误输入的空格,或者是姓名中存在数字、身份证号中出现汉
字这样的情况。
字这样的情况。
错误纠正
检查数据中有没有出现与该字段不符的内容,
还有一种常见的错误是输入位置错误
异常数据清理
在这个环节需要处理含有缺失值及异常值的数据,缺失值是指字段取值缺失的数据,异常值
指的是数据集中偏离大部分数据的取值的数据。
指的是数据集中偏离大部分数据的取值的数据。
删除法
插补法
使用属性的中心度量填充缺失值
使用最有可能的值填充缺失值:使用算法推测缺失值
寻找异常数据
通常我们会采用两种方法寻找噪声点:一种是计算该数据集的均值,选择与均值差距较大的数据点作为噪声点;
另一种是采用聚类方法,将某个特征可能出现的取值集合成“群”,落在“群”集合之外的值被视为离群的噪声点。
另一种是采用聚类方法,将某个特征可能出现的取值集合成“群”,落在“群”集合之外的值被视为离群的噪声点。
检查噪声后,采用分箱、聚类、回归、机器和人工检查相结合等方法让数据的分布情况变得更“光滑”,去掉数据中的
噪声。
噪声。
清除重复数据
数据清洗的最后一步是检查数据源中有没有特征值相同的记录
数据集成
建立数据仓库的过程实际上就是数据集成
这个步骤就是将分散在不同数据源的样本有机地整合到一起,例如宽表整合,将所有的特征值合并到一张表上展示。
集成有助于减少结果数据集的冗余,并且对数据进行统一处理,能够提高后续数据挖掘的准确性和速度。
这个步骤就是将分散在不同数据源的样本有机地整合到一起,例如宽表整合,将所有的特征值合并到一张表上展示。
集成有助于减少结果数据集的冗余,并且对数据进行统一处理,能够提高后续数据挖掘的准确性和速度。
数据集成是指将多个数据库整合为一个数据库。
在这个过程中需要着重解决命名差异、数据冗余以及数据值冲突三个问题
命名差异与数据值冲突的问题在经过数据清洗后已经基本得到解决,数据冗余的问题通过数据变换及数据归约解决
子主题
数据变换
子主题
数据归约
挖掘样本数据能够得到什么样的结果,很大程度上取决于对特征的挑选、规约或转换的结果如何。
在实际项目中,在训练一个模型时,采用的样本特征可能非常多,可能有数百甚至上千个,如果特征很多,但是只有几百条样本可用于分析,那么在大量特征上进行挖掘分析就要花费较长的时间。
这时候就需要对样本数据集进行适当的维归约,以便训练出可靠的模型,使其在面对新数据时具有实用性。
另一方面,数据特征太多,也会导致一些数据挖掘算法不可用,唯一的解决方法是再进行数据归约。
在实际项目中,在训练一个模型时,采用的样本特征可能非常多,可能有数百甚至上千个,如果特征很多,但是只有几百条样本可用于分析,那么在大量特征上进行挖掘分析就要花费较长的时间。
这时候就需要对样本数据集进行适当的维归约,以便训练出可靠的模型,使其在面对新数据时具有实用性。
另一方面,数据特征太多,也会导致一些数据挖掘算法不可用,唯一的解决方法是再进行数据归约。
数据归约的三个基本操作是删除列、删除行和减少列取值的数量。
常见的数据归约手段有维归约、数据压缩、数量归约
特征工程
如何进行特征工程
特征工程的本质是数据转化
特征工程包括特征构建、特征提取和特征选择三个部分
特征构建是指对原有特征进行组合运算生成新特征。
特征提取与特征选择是为了从原始特征中找出对于提升模型效率最有用的特征。
区别是:特征提取会改变原有的特征空间,例如组合不同的征得到一个新的特征。
而特征选择只是从原始特征数据集中挑选子集,这个子集和原数据集之间是一种包含的关系,它没有更改原始数据集的特征空间。
两种方法都能减少特征的维度,降低数据冗余。
两种方法有优点,特征提取能发现更有意义的特征属性,特征选择能表示出每特征对于模型构建的重要性。
在实际应用时,根据数据集的特点选择不同的方法。下面会讲述常用的特征提取和特征选择的方法。
而特征选择只是从原始特征数据集中挑选子集,这个子集和原数据集之间是一种包含的关系,它没有更改原始数据集的特征空间。
两种方法都能减少特征的维度,降低数据冗余。
两种方法有优点,特征提取能发现更有意义的特征属性,特征选择能表示出每特征对于模型构建的重要性。
在实际应用时,根据数据集的特点选择不同的方法。下面会讲述常用的特征提取和特征选择的方法。
特征构建
特征构建是指通过人工的方式,从原始数据中找出一些具有物理意义的特征。
特征构建就是构造出来新的特征。对原有的特征进行四则运算会产生新的特征。
例如银行的信用卡系统中含有“消费总额”和“还款总额”这两个字段,通过简单加减,可以构造出“每月还款差
额”这个字段,将两个字段变为一个字段,同时放大特征表达的含义。
额”这个字段,将两个字段变为一个字段,同时放大特征表达的含义。
构建特征时会使用属性分割和结合的方法。
特征构建如今仍然以人工构建为主,但人工构建始终是依靠我们的日常经验和知识积累。
特征提取
我们获得的特征可能有成百上千个。如此多的特征数据,难免会带来训练时间过长的问题。
如果出现特征数量多于样本数量的情况,可能会由于每个样本都具有独特性,样本点在高维空间中较为分散,从而造成过拟合的现象
如果出现特征数量多于样本数量的情况,可能会由于每个样本都具有独特性,样本点在高维空间中较为分散,从而造成过拟合的现象
什么是过拟合?通俗地讲就是训练出来的模型“太好了”,模型能够完美适应训练集数据,但是在新数据上的表现却差强人意。
因为它把训练集中一些本不该考虑的问题也考虑了进来。
因为它把训练集中一些本不该考虑的问题也考虑了进来。
所以面对特征非常多的数据集时,降低特征维度是必不可少的工作。
降维是一种根据高维特征表达的含义构造出新的低维特征的方法。
降维是一种根据高维特征表达的含义构造出新的低维特征的方法。
常见的降维方法有线性判别分析法(Linear Discriminant Analysis,LDA)和主成分分析法(Principal Component Analysis,PCA)
PCA 的核心思想是通过转换坐标轴,寻找一个将高维数据转换到低维的映射,从而达到降维、去除不相关特征的目的。
LDA 的核心思想是将带标签的数据点通过投影的方式,映射到一个低维空间,使得不同类别数据在图像上的间隔尽量大,同一类别中的
数据间隔尽量小,这样可以将不同类别的数据分隔开
数据间隔尽量小,这样可以将不同类别的数据分隔开
PCA和LDA的映射目标不一样,PCA是为了去除原始数据集中冗余的维度,让投影空间的各个维度的方差尽可能大,让映射后的样本具有最大的发散性;而LDA是为了让不同类别的数据尽可能区分开来,让映射后的样本具有分类的特点。
特征选择
从以下两个方面来选择特征
(1)特征是否发散:如果一个特征所有的取值样本都非常集中,没有太大的差异性,则不选择这类特征。
这个特征显然对我们没有任何帮助,很难从中发现有价值的信息。因此选择特征时首要选择发散的、样本有差异性的
这个特征显然对我们没有任何帮助,很难从中发现有价值的信息。因此选择特征时首要选择发散的、样本有差异性的
(2)特征与目标的相关性:一个特征与我们待解决问题的目标越
相关,这个特征就是越有价值的特征,应当优先选择。
相关,这个特征就是越有价值的特征,应当优先选择。
特征选择的三类方法
子主题
(1)过滤法(Filter):按照特征的发散性与相关性对各个特征进
行评分,设定一个阈值,选择在阈值内的特征。
(2)封装法(Wrapper):使用算法训练模型,根据目标模型计算
的预测效果评分,每次选择若干特征,或者排除若干特征。
(3)嵌入法(Embedded):首先使用算法训练模型,得到各个特
征的权值系数,再根据系数从大到小选择特征。
行评分,设定一个阈值,选择在阈值内的特征。
(2)封装法(Wrapper):使用算法训练模型,根据目标模型计算
的预测效果评分,每次选择若干特征,或者排除若干特征。
(3)嵌入法(Embedded):首先使用算法训练模型,得到各个特
征的权值系数,再根据系数从大到小选择特征。
0 条评论
下一页