特征工程中的数据标准化
数据标准化
数据标准化主要用来消除不同特征之间的量纲的影响,量纲指的是特征的计量单位,如果特征的单位不一致,那么不同的特征不能放在一起去比较。例如在日常生活中,身高的单位时cm,体重的单位时kg,二者不能直接比较。所以可以通过数据标准化的方法,来消除不同特征之间量纲的影响。
示例数据:
Min-Max 标准化
Min-Max标准化是对原始数据进行线性转换,它需要求出特征的最小值和最大值,然后通过以下公式求出标准化值:
标准化值=原数据−最小值最大值−最小值标准化值 = \frac{原数据 - 最小值}{最大值 - 最小值} 标准化值=最大值−最小值原数据−最小值
由这个公式可以知道,Min-Max标准化会把特征值映射到区间为 [0,1] 的标准化值。其中,最小的标准化值为0,最大的标准化值为1。
在sklearn模块中,使用MinMaxScaler 函数进行Min-Max标准化:
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
data = pd.read_csv('../form/数据标准化.csv',encoding = 'gbk')
#特征变量
x = data[['注册时长','营收收入','成本']]
#目标变量
y = data['是否续约']
#生成标准化对象
scaler = MinMaxScaler()
#训练标准化对象
scaler.fit(x)
#将数据转换为标准化数据
scalerX = scaler.transform(x)
执行代码,得到标准化后的数据:
Min-Max标准化能够使基于距离的计算模型的效果有一定量的提升。
Z-Score标准化
Z-Score标准化基于特征的均值和标准差进行数据的标准化,计算公式如下:
标准化数据=原数据−均值标准差标准化数据 = \frac{原数据 - 均值}{标准差}标准化数据=标准差原数据−均值
经过Z-Score标准化的数据,均值为0,标准差为1。因此标准化后的数据值围绕着0上下波动,大于0说明高于均值,小于0说明低于均值。
根据标准化均值为0,标准差为1的性质,如果一个特征符合正态分布,那么:
68.26%的数据,会分布在 [-1,+1] 区间
95.44%的数据,会分布在 [-2,+2] 区间
99.74%的数据,会分布在 [-3,+3] 区间
在sklearn模块中,使用scale函数进行Z-Score标准化:
from sklearn.preprocessing import scale
#将数据转换为标准化数据
scaleX = scale(x)
执行代码,得到标准化的数据:
进行Z-Score标准化能够使基于距离的计算模型的效果有一定量的提升。
Normalizer归一化
Normalizer归一化是将每个样本缩放到单位范数(每个样本的范数为1),计算公式如下:
xˉ=x∑i=1nxi2\bar{x} = \frac{x}{\sum_{i =1}^{n} x_i^2} xˉ=∑i=1nxi2x
在sklearn模块中,使用Normalizer函数进行Normalizer归一化:
from sklearn.preprocessing import Normalizer
#生成标准化对象
normalizer = Normalizer()
#训练标准化对象
normalizer.fit(x)
#把数据转化成标准化数据
x = normalizer.transform(x)
执行代码,得到归一化的数据:
并非所有的特征工程的手段都可以对模型产生正向的提升。
特征工程中的数据标准化相关推荐
- 机器学习-特征工程中的数据预处理
对于一个机器学习问题,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限.由此可见,数据和特征在模型的整个开发过程中是比较重要.特征工程,顾名思义,是对原始数据进行一系列工程处理,将其提炼为 ...
- 机器学习-特征工程中的特征降维
对于一个机器学习问题,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限.由此可见,数据和特征在模型的整个开发过程中是比较重要.特征工程,顾名思义,是对原始数据进行一系列工程处理,将其提炼为 ...
- 机器学习-特征工程中的特征选择
对于一个机器学习问题,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限.由此可见,数据和特征在模型的整个开发过程中是比较重要.特征工程,顾名思义,是对原始数据进行一系列工程处理,将其提炼为 ...
- ML之FE:特征工程中数据缺失值填充的简介、方法、全部代码实现之详细攻略
ML之FE:特征工程中数据缺失值填充的简介.方法.全部代码实现之详细攻略 目录 特征工程中数据缺失值填充的简介.方法.经典案例
- ML之FE:特征工程中常用的五大数据集划分方法(特殊类型数据分割,如时间序列数据分割法)讲解及其代码
ML之FE:特征工程中常用的五大数据集划分方法(特殊类型数据分割,如时间序列数据分割法)讲解及其代码 目录 特殊类型数据分割 5.1.时间序列数据分割TimeSeriesSplit 特殊类型数据分割 ...
- Python之pandas:特征工程中数据类型(object/category/bool/int32/int64/float64)的简介、数据类型转换四大方法、案例应用之详细攻略
Python之pandas:特征工程中数据类型(object/category/bool/int32/int64/float64)的简介.数据类型转换四大方法.案例应用之详细攻略 目录 特征工程中数据 ...
- 特征工程:归一化与标准化
样本特征由于来源以及度量单位不同,它们的尺度(Scale),或者说是取值范围有可能差异很大.如果一个机器学习算法在缩放全部或者部分特征后不影响它的学习和预测,我们就称该算法具有尺度不变性(Scale ...
- 专栏 | 基于 Jupyter 的特征工程手册:数据预处理(三)
作者:陈颖祥.杨子晗 编译:AI有道 基于 Jupyter 的特征工程手册:数据预处理的上一篇: 专栏 | 基于 Jupyter 的特征工程手册:数据预处理(一) 专栏 | 基于 Jupyter 的特 ...
- 专栏 | 基于 Jupyter 的特征工程手册:数据预处理(二)
作者:陈颖祥.杨子晗 编译:AI有道 基于 Jupyter 的特征工程手册:数据预处理的上一篇: 专栏 | 基于 Jupyter 的特征工程手册:数据预处理(一) 项目地址: https://gith ...
最新文章
- oracle递归用法
- JetBrains 加入 .NET 基金会
- python 温度转换程序_Python程序将米转换为码
- 大数据学习笔记05:ZooKeeper集群
- javascript 控制语句
- 技术研究院006---B站自用的微服务框架——Kratos
- java 8 foreach获取索引
- 基于LDA的文本主题聚类Python实现
- mac os 10.10下安装android studio问题:android studio was unable to find a valid jvm
- Hugging Face Course-Introduction学习小记 (part2)
- 嵌入式软件工程师学习路线
- 论文笔记 | 用户画像
- 基于梯度的PGD攻击
- 新浪微博的架构发展历程
- Layui使用中遇到的问题
- 设计模式之禅-访问者模式
- hadoop实战(二)
- HTML背景颜色的渐变
- tomcat默认编码问题
- GMT UTC CST ISO 夏令时 时间戳
热门文章
- 深入理解React:懒加载(lazy)实现原理
- 重新认识融云,「不止即时通讯」
- C语言编程>第二十四周 ① 请补充fun函数,该函数的功能是判断一个数是否为素数。该数是素数时,函数返回字符串 “yes!”,否则函数返回字符串 “no!”,并在主函数中输出。
- 程序员开工指南,专治不想上班!
- 谷歌翻译字数限制_如何始终在Google文档中显示字数统计
- 20172307 / 20172311 结对编程项目-四则运算 第三周总结
- 获取必应每日壁纸(api)
- python壁纸数据抓取_Python爬虫:爬取必应壁纸(可直接运行)
- 手机怎么设置企业邮箱的服务器,如何在手机上设置网易企业邮箱
- 文字转语音软件哪个好,这一款值得推荐