数据变换是数据准备的重要环节,将数据转换成适用于数据挖掘的形式。数据变换的常用方式:
- 数据平滑:去除噪声,将数据离散化
- 数据聚集:如sql中的聚集函数,count(), sum()
- 数据概化:数据由较低概念 抽象为 较高概念
- 数据规范化:统一尺度
- 属性构造:构造新的属性 (特征工程)
相关代码地址
接下来,介绍数据规范化的几种方法:
1 Min-Max 规范化(最小-最大规范化)
将原始数据映射到 [0, 1] 之间:
(原始值 - 最小值) / (最大值 - 最小值)
- 不适用场景:原始数据存在小部分 很大/很小的数据时,会造成大部分数据规范化后接近于 0/1,区分度不大
2 Z-Score规范化(零-均值规范化)
也称 标准差标准化,定义为:
(原始值 - 平均值)/ 标准差
得到的是:给定数据距离其均值多少个标准差
- 变换后数据的 均值为0,方差为1
- 结果没有实际意义,仅用于比较
3 小数定标规范化
通过移动小数点位置将数据变换至 [-1, 1],定义为:
原始值 / 10^k
- k 取决于属性A取值中的最大绝对值
小数定标规范化就是通过移动小数点的位置来进行规范化。小数点移动多少位取决于属性 A 的取值中的最大绝对值。
相关代码地址github
sklearn 安装失败时,可尝试切换数据源 或 增加超时时间
pip3 --default-timeout=100 install sklearn -i https://pypi.tuna.tsinghua.edu.cn/simple