一、数据缩放

你的预处理数据集中可能包含各种各样、不同比例的特征字段,比如美元、千克、价格,有的特征列数值范围在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库提供的方法实现。简单好用,快试试吧!


©著作权归作者所有:来自51CTO博客作者mb5fe18fab305a5的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 基于geopandas的空间数据分析-深入浅出分层设色
  2. seaborn常用的10种数据分析图表
  3. Python地信专题 | 基于geopandas的空间数据分析-文件IO篇
  4. conda+jupyter玩转数据科学环境搭建
  5. 用Python编写小工具下载OSM路网数据
  6. 1 简介 在上一篇文章中我们对geopandas中的坐标参考系有了较为
  7. 好看不火 | 怎么才有数据分析思路?
  8. 案例 | 用pdpipe搭建pandas数据分析流水线
  9. n种方式教你用python读写excel等数据文件

随机推荐

  1. python数据分析之清洗数据:缺失值处理
  2. 数据工程师需要掌握的18个python库
  3. 图解 :一篇彻底带你搞懂 JS 中的 this 指
  4. python数据分析——详解python读取数据相
  5. Python一行命令生成数据分析报告
  6. 数据工程师面试必备——Python与数据库的
  7. 用python制作动态图表看全球疫情变化趋势
  8. 2020最值得学习的12款python-web开发框架
  9. 疫情数据哪里找,看这篇就够了
  10. Jar 文件(学习 Java 编程语言 037)