python范围缩放_机器学习中的数据缩放-Python Scikit-Learn实现方法

本文介绍了如何使用Python Scikit-Learn库进行数据缩放,包括数据归一化和标准化。通过鸢尾花数据集举例,展示了这两种方法的实现过程,强调了数据缩放对机器学习模型的重要性,并建议通过比较缩放前后模型效果来确定缩放的适用性。
摘要由CSDN通过智能技术生成

机器学习中的数据转换-Python Scikit-Learn实现方法

我们在建模之前,需要做数据准备。数据准备的过程主要包括3个步骤:数据选择

数据预处理

数据转换

本文会告诉你两种方法,即如何使用Python的Scikit-Learn库进行简单的数据转换。

一、数据缩放

你的预处理数据集中可能包含各种各样、不同比例的特征字段,比如美元、千克、价格,有的特征列数值范围在100以内,有的却达到几百万,差异很大。

很多机器学习模型不希望有这样大的差异,如果数据集各个属性之间的数值差异越小,则模型表现的会越好。这里不一概而论,具体原因小伙伴们自行探索下。

方法1:数据归一化

数据归一化是指将原始数据缩放到0和1之间。

对于依赖于值的大小的模型,这种对输入属性的缩放很管用。比如在K近邻模型的距离测量和回归系数的准备。

接下来用大名鼎鼎的鸢尾花数据集演示数据归一化的例子。

# 对鸢尾花数据集进行数据归一化处理.

from sklearn.datasets import load_iris

from sklearn import preprocessing

# 加载数据

iris = load_iris()

print(iris.data.shape)

# 分离原始数据集,分为自变量和因变量

X = iris.data

y = iris.target

# 归一化处理

normalized_X = preprocessing.normalize(X)

更多关于归一化处理,详见API

方法2:数据标准化

数据标准化是指:数据集中,每个特征列的数值减去其平均值,再除以其标准差,得到均值为0,标准差为1的服从标准正态分布的数据。

诸如高斯过程等依赖于特征分布的模型,对特征进行标准化是非常有用的。

依然用鸢尾花的例子。

# 对鸢尾花数据集进行数据标准化处理.

from sklearn.datasets import load_iris

from sklearn import preprocessing

# 加载数据

iris = load_iris()

print(iris.data.shape)

# 分离原始数据集,分为自变量和因变量

X = iris.data

y = iris.target

# 标准化处理

standardized_X = preprocessing.scale(X)

更多关于归一化处理,详见API

二、说明

很难知道数据缩放是否会有利于模型的效果,大概率上是有用的,但不排除出现产生负效果。

中肯的建议是,先建立一个数据缩放后的副本,使用你的算法模型测试对比缩放前后的效果。

这可以让你快速知道,你的模型中缩放带来的好处或弊端。你也可以试用不同的缩放方法,进行对比。

三、总结

数据缩放是一种非常重要的数据转换方法。本文介绍了归一化和标准化两种方法,均用Python Scikit-Learn库提供的方法实现。简单好用,快试试吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值