数据预处理(处理缺失值、属性编码、数据标准化正则化、特征选择、主成分分析)
数据存在的问题
在实际中,我们拿到的数据通常是脏数据,数据可能存在以下几种主要问题:
1.数据缺失 (Incomplete) :属性值为空的情况
2. 数据噪声 (Noisy):数据值不合常理的情况
3. 数据不一致 (Inconsistent):数据前后存在矛盾的情况。如 Age = “42” vs. Birthday = “01/09/1985”
4. 数据冗余 (Redundant):数据量或者属性数目超出数据分析需要的情况。
5. 数据集不均衡 (Imbalance):各个类别的数据量相差悬殊的情况。
6. 离群点/异常值 (Outliers):远离数据集中其余部分的数据。
7. 数据重复(Duplicate):在数据集中出现多次的数据。
1.处理缺失值
缺失值的分类
1.完全随机缺失:指的是数据的缺失是完全随机的;
2.随机缺失:指的是数据的缺失不是完全随机的,和完全变量有关;
3.完全不随机缺失:指的是数据的缺失与不完全变量自身的取值相关; 缺失值会使得系统丢失了大量的有用信息,系统所表现出来的不确定性更加显著,系统中蕴含的确定性成分更难把握,包含空值的不完全变量会使得挖掘过程陷入混乱。
缺失值处理的方法:
(1)均值插补 ;(2)利用同类均值插补;(3)极大似然估计;(4)多重插补;(5)插值法填充;(6)模型填充
2.处理离群值
离群值的判断标准有三种,分别为 MAD、 3σ、百分位法。
异常值的处理方法:
(1)根据异常点的数量和影响,考虑是否将该条记录删除,信息损失多
(2)若对数据做了log-scale 对数变换后消除了异常值,则此方法生效,且不损失信息
(3)平均值或中位数替代异常点,简单高效,信息的损失较少
(4)在训练树模型时,树模型对离群点的鲁棒性较高,无信息损失,不影响模型训练效果
3.属性编码
(1)分箱—特征二元化/多元化
特征二元化的过程是将数值型的属性转换为布尔值的属性,设定一个阈值作为划分属性值为0和1的分隔点。
(2)独热编码(One-HotEncoding)
独热编码采用N位状态寄存器来对N个可能的取值进行编码,每个状态都由独立的寄存器来表示,并且在任意时刻只有其中一位有效。
独热编码的优点:能够处理非数值属性;在一定程度上扩充了特征;编码后的属性是稀疏的,存在大量的零元分量
4.数据标准化
数据标准化是将样本的属性缩放到某个指定的范围,归一化后求优过程范围变小,寻优过程变得平缓,更容易正确收敛到最优解。(之前写的一点小笔记)
常用的有以下两种方式:
1.减均值除方差,得X~N(0,1)
2.减最小值除最大值最小值之差,标准化,对X进行放缩
5.特征选择——降维
常见的特征选择类型分为三类:过滤式(filter)、包裹式(wrapper)、嵌入式(embedding)。常见的降维方法:SVD、PCA、LDA
数据预处理(处理缺失值、属性编码、数据标准化正则化、特征选择、主成分分析)相关推荐
- R语言使用xgboost构建回归模型:vtreat包为xgboost回归模型进行数据预处理(缺失值填充、缺失值标识、离散变量独热onehot编码)、构建出生体重的xgboost模型回归模型
R语言使用xgboost构建回归模型:vtreat包为xgboost回归模型进行数据预处理(缺失值填充.缺失值标识.离散变量独热onehot编码).构建出生体重的xgboost模型回归模型 目录
- 机器学习数据预处理之缺失值:特征删除
机器学习数据预处理之缺失值:特征删除 garbage in, garbage out. 没有高质量的数据,就没有高质量的数据挖掘结果,数据值缺失是数据分析中经常遇到的问题之一.当缺失比例很小时,可直接 ...
- Python数据分析数据预处理特征值独热编码
[小白从小学Python.C.Java] [Python-计算机等级考试二级] [Python-数据分析] Python数据分析 数据预处理 特征值独热编码 独热编码,是一种将分类变量转换为若干二进制 ...
- 数据预处理之独热编码(One-Hot)
1.前言 在机器学习算法中,我们经常会遇到分类特征,例如:人的性别有男女,祖国有中国,美国,法国等. 这些特征值并不是连续的,而是离散的,无序的.通常我们需要对其进行特征数字化. 那什么是特征数字化呢 ...
- R语言使用caret包的preProcess函数进行数据预处理:对所有的数据列进行center中心化、scale标准化(每个数据列减去平均值、除以标准差)、设置参数为center和scale
R语言使用caret包的preProcess函数进行数据预处理:对所有的数据列进行center中心化.scale标准化(每个数据列减去平均值.除以标准差).设置method参数为center和scal ...
- 机器学习数据预处理之缺失值:预测填充(回归模型填充、分类模型填充)
机器学习数据预处理之缺失值:预测填充(回归模型填充.分类模型填充) garbage in, garbage out. 没有高质量的数据,就没有高质量的数据挖掘结果,数据值缺失是数据分析中经常遇到的问题 ...
- 机器学习数据预处理之缺失值:插值法填充+ lagrange插值+拉格朗日插值
机器学习数据预处理之缺失值:插值法填充+ lagrange插值+拉格朗日插值 garbage in, garbage out. 没有高质量的数据,就没有高质量的数据挖掘结果,数据值缺失是数据分析中经常 ...
- 机器学习数据预处理之缺失值:插值法填充+多项式插值
机器学习数据预处理之缺失值:插值法填充+多项式插值 garbage in, garbage out. 没有高质量的数据,就没有高质量的数据挖掘结果,数据值缺失是数据分析中经常遇到的问题之一.当缺失比例 ...
- 机器学习数据预处理之缺失值:样本删除
机器学习数据预处理之缺失值:样本删除 garbage in, garbage out. 没有高质量的数据,就没有高质量的数据挖掘结果,数据值缺失是数据分析中经常遇到的问题之一.当缺失比例很小时,可直接 ...
- 机器学习数据预处理之缺失值:众数(mode)填充
机器学习数据预处理之缺失值:众数(mode)填充 garbage in, garbage out. 没有高质量的数据,就没有高质量的数据挖掘结果,数据值缺失是数据分析中经常遇到的问题之一.当缺失比例很 ...
最新文章
- sd.js 2.0封装:更加简化请求传参内容
- 操作系统安全加固方法
- dll可以在linux下使用吗_无需虚拟技术,6步直接在Windows下使用Linux
- 【数据结构与算法】之深入解析“删除链表的倒数第N个结点”的求解思路与算法示例
- Angular之组件的创建
- java实现打印直角三角形
- Cloud Toolkit 部署应用到阿里云轻量应用服务器
- 从今天开始 好好规划自己
- iframe在ios设备宽度不能100%
- Julia: Dates =DateFormat, format,parse.......
- 【爆赞】这款Python小程序自动抠图只需5秒,秒杀PS手动抠图?
- #论文学习#第二篇:CNN-SLAM: Real-time dense monocular SLAM with learned depth prediction
- python3 输出 26个大小写英文字母
- 区块链基本概念和名词解释
- postman接口测试响应体出错显示HTML网页的问题
- 作也 努力努力在努力
- Java同步技术 (一)
- mysql查找操作返回值出现 - [User{id=1, userName='null', date=Sun Sep 16 00:00:00 CST 2018}]
- vrf中的ipsec
- mysql报错-ERROR 1206 (HY000)- The total number of locks exceeds the lock table size-的解决方法