写点什么

数据预处理和特征选择

  • 2022 年 3 月 11 日
  • 本文字数:4170 字

    阅读完需:约 14 分钟

背景介绍

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

数据是什么?

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

数据分析是什么?

  • 把隐藏在数据背后的信息集中和提炼出来

  • 总结出所研究对象的内在规律,帮助管理者进行有效的判断和决策

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

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

数据分析流程图



数据预处理

什么是数据预处理?

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

为什么要做数据预处理?

举例:

  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. 归一化为什么做归一化?归一化的意义?归一化的实施方法?如何归一化有异常值的数据?

  3. 连续属性离散化无监督离散化监督离散化

  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:

项目介绍:https://www.cloudwise.ai/flyFish.html

Github 地址: https://github.com/CloudWise-OpenSource/FlyFish

Gitee 地址: https://gitee.com/CloudWise/fly-fish

行业案例:https://www.bilibili.com/video/BV1z44y1n77Y/

部分大屏案例:



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

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



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

参考资料:

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

参考资料2

用户头像

全栈智能业务运维服务商 2021.03.10 加入

我们秉承Make Digital Online的使命,致力于通过先进的产品技术,为企业数字化转型和提升IT运营效率持续赋能。 https://www.cloudwise.com/

评论

发布
暂无评论
数据预处理和特征选择_数据挖掘_云智慧AIOps社区_InfoQ写作平台