数据预处理和特征选择

背景介绍

结合网上一些相关资料,我们整理输出了这篇文章,本文说明了数据的重要性以及数据在各个环节和领域地位。更重要的是,这篇文章会详尽的讲解数据预处理和特征选择的原理及方法细节。

数据是什么?

  • 通过观察、实验或计算得出的结果。例:数字、文字、图像、声音等。

数据分析是什么?

  • 把隐藏在数据背后的信息集中和提炼出来
  • 总结出所研究对象的内在规律,帮助管理者进行有效的判断和决策

数据在数据分析中的重要性

  • 数据分析即数据+分析,也就是说数据为先,分析为后。数据是分析的基础,因此数据的质量、数据的相关度、数据的维度等会影响数据分析的结果。

数据分析流程图

数据预处理

什么是数据预处理?

在特征工程和日志前,检测和去除数据集中的噪声数据和无关数据,处理漏洞数据,去除空白数据。

为什么要做数据预处理?

举例:

  1. 缺失值;职业=""
  2. 误差或异常点;工资="-10"
  3. 包含矛盾;年龄=42,"03/17/1997"

数据预处理的意义?

提高数据的质量,从而有助于提高后续学习过程的精度和性能

数据预处理的重要性

数据预处理很重要,下图告诉你,到底多重要?

数据的特征决定了机器学习的上限,而模型和算法的应用只是让我们逼近这个上限

特征处理的思维导图

数据清洗

什么是数据清洗?

删除原始数据集中的无关数据,重复数据,筛选掉与挖掘主题无关的数据,处理缺失值,异常值。

造成数据缺失的原因

信息暂时无法获取;信息被遗漏;有些对象的某个或某些属性是不可用的,等等。

缺失的类型

完全随机缺失;随机缺失,非随机缺失

处理缺失值的必要性

挽回丢失的信息;确定性更加显著;得到可靠的输出

常见的数据清理的方式

缺失值处理

  1. 删除元组
  2. 均值/中数值/众数插补
  3. 使用固定值
  4. 最近邻插补
  5. 回归方法
  6. 插值法

异常值处理

  1. 删除含有异常值的记录
  2. 视为缺失值
  3. 平均值修正
  4. 不处理

偏态分布

更加全面的了解数据分布,使用mode、median、mean三个指标来综合描述数据的分布。对于明显左偏或者右偏的数据来说,使用中位数去描述数据情况比平均数更合理,因为平均数会受极值的影响。

左偏说明长尾在左边,左边有较多的极端数据

许多算法要求样本服从正态分布

正态分布

正态分布

多数频数集中在中央位置,两端的频数分布大概对称

为什么将偏态数据转换为正态分布数据?

很多模型假设数据服从正态分布

为什么正态分布在自然界中常见?

多个因素独立同分布并且可以叠加,那么叠加的结果就会接近正态分布,这就是中心极限定理

中心极限定理

样本的平均值约等于总体的平均值

缺失值处理

①删除元组

②均值/中数值/众数插补

  • 空值是数值型或者空值的非数值型的;用均值补齐的问题;
  • 降低了变异性;
  • 弱化了协方差和相关性估计

③回归方法

  • 用模型的方法插补缺失值;
  • 用回归模型补齐的问题:过高估计模型的拟合和相关性估计;
  • 弱化了方差;

异常点检测

3α法则;散点图或箱型图;

箱线图与四分位数

四分位数

  • 把所有数值由小到大排列并分为四等份,处于三个分割点位置的得分就是四分位数。
  • 有小到大排列后第25%的数字成为Q1
  • 由小到大排列后第50%的数字成为Q2
  • 由小到大 排列第75%的数组成为Q3
  • 四分位距(IQR)=Q3-Q1
  • 下限:Q1-1.5IQR
  • 上限:Q3+1.5IQR

异常值处理

  1. 删除含有异常值的记录
  • 明显看出是异常且数量较少
  1. 视为缺失值
  • 利用缺失值处理的方法进行处理
  1. 平均值修正
  • 平均值修正是一种信息损失小,简单高效的处理方法
  1. 不处理
  • 如果算法对异常值不敏感则可以不处理,但对异常值敏感,最好不要这样。

数据集成

什么是数据集成?

合并多个数据源中国的数据,存放在一个一致的数据存储中

数据集成的分类

1、实体识别

  • 同名异义
  • 异名同义
  • 单位不统一

举例:一个数据库中的customer_id和另一个数据库中的customer_number;pay_type的数据编码在一个数据库中可以是“H”和“S”,而在另一个数据库中是1和2。

2、冗余属性识别

如果一个属性可以由另一个或另一组属性“导出”,那么他就是冗余的

相关分析检验:

数据变换

什么是数据变换?

将数据转换或统一成适合于挖掘的形式

数据变换涉及到的内容:

  • 光滑:去掉数据中的噪音
  • 聚集:对数据进行汇总或聚集
  • 数据泛化:使用概念分层,用高层概念替换底层或“原始”数据
  • 规范化:将属性数据按比例缩放,使之落入一个小的特定区间
  • 属性构造:可以构造新的属性并添加到属性集中,以帮助挖掘过程。

数据变换包含了哪些方法?

  1. 简单函数变换
  2. 归一化
    1. 为什么做归一化?
    2. 归一化的意义?
    3. 归一化的实施方法?
    4. 如何归一化有异常值的数据?
  3. 连续属性离散化
    1. 无监督离散化
    2. 监督离散化
  4. 属性构成
  5. 小波变换

数据变换—归一化/标准化

连续属性离散化—等宽算法、等频算法

连续属性离散化—K-means聚类算法

连续属性离散化—ChiMerge算法

监督离散化

ChiMerge是一种基于x²的离散化方法,使用自底而上的策略,递归地找出最佳临近区间,然后合并它们,形成较大的区间。

过程:

将数值属性A点每个不同值看作一个区间,对每个相邻区间进行x²检验。

具有最小x²值的相邻区间合并在一起,因为低x²值表面它们具有相似的分布

数据规约

什么是数据规约?

  • 产生更小但保持原数据完整性的新数据集

数据变换的意义?

  • 提高建模的准确性;缩短数据挖掘所的世界;降低存储数据的成本

数据规约的分类

属性规约

  1. 合并属性
  2. 逐步向前选择
  3. 逐步向后删除
  4. 决策树归纳
  5. 主成分分析

数据规约—维度规约

LDA—线性判别分析

LDA

LDA是一种监督学习的降维技术,也是说它的数据集的每个样本是类别输出的。这点和PCA不同,PCA是不考虑样本类别输出的无监督降维技术。

思想:投影后类内方差最小,类间方差最大

数据规约—数值规约

  • 有参数——假设数据适合于一些模型,估计模型参数,且仅储存参数,并放弃储存数据

1.回归模型

y=wx+b

x和y是数值数据库属性,系数w和b分别为直线的斜率和Y轴截距。系数通过最小二乘法求得,它最小化分离数据的实际直线与直线之间的误差。

2.对数线性模型

对数线性模型可以近似看作离散的多维概率分布。用三维对数线性模型举例:

无参数——直方图、聚类、抽样

特征选择

特征工程的概述

为什么做特征选择?

  1. 减轻维度灾难问题
  2. 降低学习任务难度

特征选择的三个目标

  1. 提高模型的预测表现
  2. 提高更快且更高效的模型
  3. 提供生成数据中潜在过程的最佳的理解

做特征选择的原则?

  1. 特征是否发散
  2. 特征与目标的相关性

特征的分类

  1. 相关特性:是指与当前学习任务有关的特征;
  2. 无关特性:是指与当前学习任务无关的特征(该特征所提供的信息对于当前学习任务无用);例:对于学生成绩而言,学号就是无关特征。
  3. 冗余特征:是指该特征所包含的信息能从其他特征推演过来;例:对于“面积”这个特征而言,能从“长”和“宽”得出,则它是冗余特征

特征选择vs.特征提前

**共同点:**两者都是降维的方法,目的相同。

不同点:

  • 特征提取是通过属性间的关系,如组合不同的属性得到新的属性,这样就改变了原来的特征空间
  • 特征选择是从原始特征数据集中选择出子集,是一种包含的关系,没有改变原来的特征空间

特征选择—Filter

Filter Methods

什么是过滤法?

按照发散性或者相关性对各个特征进行评分,设定阈值或者带选择阈值的个数,选择特征

1.方差选择法

  • 使用方差选择法,先要计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征。
  • 当特征值都是离散型变量的时候这种方法才能用,如果是连续型变量,就需要将连续型变量离散化之后才能用

2.相关系数选择法

根据相关系数的大小判定两个变量之间的相关性的强弱,进而选择相关的特征。一般常用的是皮尔逊相关系数

3.卡尔检验

统计样本的实际观测值与理论推断值之间的偏移程度,这个偏离程度决定了卡方值的大小

4.互信息法

互信息,表示两个变量是否有关系,以及关系的强弱

残差和决定系数

特征选择—Wrapper—逐步向前选择

Wrapper Methods

什么是包装法?

  • 包装法实际是一种搜索方式,将当前的特征组合作为带搜索的集合,从集合中找出最优的特征组合然后返回结果。

逐步向前选择:

  • 变量被逐步地合并进越来越大的子集中

步骤

  1. 从一个空模型开始
  2. 拟合5个简单的线性回归模型,搜索出所有单个变量模型中最好的那一个
  3. 搜遍剩下的4个变量,找出哪个变量加入到现有模型中可以最大的改善残差平方和

特征选择—Wrapper—逐步向后剔除

逐步向后剔除:

所有变量的集合一起开始,逐步地剔除直到获得最优的一个

步骤:

  1. 开始时模型包含了所有的变量
  2. 移除p-value最大的变量
  3. 新的(p-1)个变量模型是t,最大的p-value的变量被移除
  4. 重复上面的步骤直到停止条件被达到

特性选择——Embedded

Embedded Methods

什么是嵌入法?

  • 先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据叙述从大到小选择特征。

嵌入****发与正则化

当样本特征很多,而样本数相对较少时,上式很容易陷入过拟合。为了缓解过拟合问题,可对上式引入正则化项:

L1正则化

L1正则化是指权值向量中各个元素的绝对值之和

L2正则化

L2正则化是指权值向量中各个元素的平方和然后再求平方根

L1正则化和L2正则化都有助于降低拟合风险,但前者还会带来一个额外的好处“它比后者更易获得“稀疏”解,即它求得的ω会有更少的非零分量

总结

数据清理:格式标准化,异常数据清楚,错误纠正,重复数据的清除

数据集成:将分散在不同来源的数据有机地整合在一起

数据变换:通过平滑聚集,数据概化,规范化等方法将数据转换成适用于数据挖掘的形式

数据规约:得到数据集的规约表示,它小得多,但仍然接近于保持原数据的完整性,结果与规约前结果相同或几乎相同

特征选择:提高模型的泛化能力,减少过拟合;增强对特征和特征值之间的理解。

写在最后

近年来,在AIOps领域快速发展的背景下,IT工具、平台能力、解决方案、AI场景及可用数据集的迫切需求在各行业迸发。**基于此,云智慧在2021年8月发布了AIOps社区,**旨在树起一面开源旗帜,为各行业客户、用户、研究者和开发者们构建活跃的用户及开发者社区,共同贡献及解决行业难题、促进该领域技术发展。

社区先后开源了数据可视化编排平台-FlyFish、运维管理平台OMP、云服务管理平台-摩尔平台、Hours算法等产品,并在短时间内取得了一系列社区荣誉。

可视化编排平台-FlyFish:

项目介绍:www.cloudwise.ai/flyFish.htm…

Github地址: github.com/CloudWise-O…

Gitee地址: gitee.com/CloudWise/f…

行业案例:www.bilibili.com/video/BV1z4…

部分大屏案例:

您可以添加小助手(xiaoyuerwie)加入开发者交流群,与业内大咖进行1V1交流!

也可通过小助手获取云智慧AIOps资讯,了解FlyFish最新进展!

(本文部分资料/信息源于网络,如有侵权,请联系小助手/私信进行处理)

参考资料:

使用sklearn做单机特征工程 - jasonfreak - 博客园

参考资料2

Guess you like

Origin juejin.im/post/7073664226677506085
Recommended