详解python实现数据归一化处理的方式:(0,1)标准化


Posted in Python onJuly 17, 2019

在机器学习过程中,对数据的处理过程中,常常需要对数据进行归一化处理,下面介绍(0, 1)标准化的方式,简单的说,其功能就是将预处理的数据的数值范围按一定关系“压缩”到(0,1)的范围类。

通常(0, 1)标注化处理的公式为:

详解python实现数据归一化处理的方式:(0,1)标准化

即将样本点的数值减去最小值,再除以样本点数值最大与最小的差,原理公式就是这么基础。

下面看看使用python语言来编程实现吧

import numpy as np
import matplotlib.pyplot as plt


def noramlization(data):
  minVals = data.min(0)
  maxVals = data.max(0)
  ranges = maxVals - minVals
  normData = np.zeros(np.shape(data))
  m = data.shape[0]
  normData = data - np.tile(minVals, (m, 1))
  normData = normData/np.tile(ranges, (m, 1))
  return normData, ranges, minVals


x = np.array([[78434.0829, 26829.86612], [78960.4042, 26855.13451], [72997.8308, 26543.79201],
       [74160.2849, 26499.56629], [75908.5746, 26220.11996], [74880.6989, 26196.03995],
       [74604.7169, 27096.87862], [79547.6796, 25986.68579], [74997.7791, 24021.50132],
       [74487.4915, 26040.18441], [77134.2636, 24647.274],  [74975.2792, 24067.31441],
       [76013.5305, 24566.02273], [79191.518, 26840.29867], [80653.4589, 25937.22248],
       [79185.9935, 26996.18228], [74426.881, 24227.71439], [73246.4295, 26561.59268],
       [77963.1478, 25580.05298], [74469.8778, 26082.15448], [81372.3787, 26649.69232],
       [76826.8262, 24549.77367], [77774.2608, 25999.96037], [79673.1361, 25229.04353],
       [75251.7951, 24902.72185], [78458.073, 23924.15117], [82247.5439, 29671.33493],
       [82041.2247, 27903.34268], [80083.2029, 28692.35517], [80962.0043, 28519.81002],
       [79799.8328, 28740.27736], [80743.9947, 28862.75402], [80888.449, 29724.53706],
       [81768.4638, 30180.20618], [80283.8783, 30417.55057], [79460.7078, 29092.52867],
       [75514.1202, 28071.73721], [80595.5945, 30292.25917], [80750.4876, 29651.32254],
       [80020.662, 30023.70025], [82992.3395, 29466.83067], [80185.5946, 29943.15481],
       [81854.6163, 29846.18257], [81526.4017, 30218.27078], [79174.5312, 29960.69999],
       [78112.3051, 26467.57545], [80262.4121, 29340.23218], [81284.9734, 28257.71529],
       [81928.9905, 28752.84811], [80739.2727, 29288.85126], [83135.3435, 30223.4974],
       [83131.8223, 29049.10112], [82549.9076, 28910.15209], [81574.0822, 28326.55367],
       [80507.399, 28553.56851], [82956.2103, 29157.62372], [81909.7132, 29359.24497],
       [80893.5603, 29326.64155], [82520.1272, 30424.96703], [82829.8548, 31062.24418],
       [80532.1495, 29198.10407], [80112.7963, 29143.47905], [81175.0882, 28443.10574]])

newgroup, _, _ = noramlization(x)
newdata = newgroup
plt.scatter(x[:, 0], x[:, 1], marker='*', c='r', s=24)
plt.show()
print(len(x[:, 0]))
print(len(x[:, 1]))
print(newdata)

将数据进行归一化处理后,并使用matplotlib绘制出处理后的散点图分布如下:

详解python实现数据归一化处理的方式:(0,1)标准化

可以看到数据的数值范围均为(0,1)之间了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用Beautiful Soup包编写爬虫时的一些关键点
Jan 20 Python
浅谈python 读excel数值为浮点型的问题
Dec 25 Python
python 使用pandas计算累积求和的方法
Feb 08 Python
pytorch使用Variable实现线性回归
May 21 Python
python找出一个列表中相同元素的多个索引实例
Jun 11 Python
利用Python模拟登录pastebin.com的实现方法
Jul 12 Python
flask框架配置mysql数据库操作详解
Nov 29 Python
Python关于反射的实例代码分享
Feb 20 Python
python用opencv 图像傅里叶变换
Jan 04 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
Jan 15 Python
pytorch 实现变分自动编码器的操作
May 24 Python
python保存图片的四个常用方法
Feb 28 Python
简单了解django索引的相关知识
Jul 17 #Python
python实现连连看辅助(图像识别)
Mar 25 #Python
Django中多种重定向方法使用详解
Jul 17 #Python
200行python代码实现2048游戏
Jul 17 #Python
Django后端接收嵌套Json数据及解析详解
Jul 17 #Python
Python制作微信好友背景墙教程(附完整代码)
Jul 17 #Python
python代码编写计算器小程序
Mar 30 #Python
You might like
php数组一对一替换实现代码
2012/08/31 PHP
php简单浏览目录内容的实现代码
2013/06/07 PHP
Yii2实现自定义独立验证器的方法
2017/05/05 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
2019/09/16 PHP
javaScript Array(数组)相关方法简述
2009/07/25 Javascript
如何使用Jquery获取Form表单中被选中的radio值
2013/08/09 Javascript
深入解析JavaScript中的数字对象与字符串对象
2015/10/21 Javascript
JavaScript驾驭网页-DOM
2016/03/24 Javascript
AngularJS基础 ng-init 指令简单示例
2016/08/02 Javascript
微信小程序加载更多 点击查看更多
2016/11/29 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
2016/12/05 Javascript
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
express如何解决ajax跨域访问session失效问题详解
2019/06/20 Javascript
layer页面跳转,获取html子节点元素的值方法
2019/09/27 Javascript
Nodejs环境实现socket通信过程解析
2020/07/03 NodeJs
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
Python 多核并行计算的示例代码
2017/11/07 Python
Python键盘输入转换为列表的实例
2018/06/23 Python
Python 生成 -1~1 之间的随机数矩阵方法
2018/08/04 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
对Python3之方法的覆盖与super函数详解
2019/06/26 Python
Python 正则表达式爬虫使用案例解析
2019/09/23 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
使用python 将图片复制到系统剪贴中
2019/12/13 Python
matplotlib部件之套索Lasso的使用
2021/02/24 Python
CSS3模块的目前的状况分析
2010/02/24 HTML / CSS
css3教程之倾斜页面
2014/01/27 HTML / CSS
网络技术支持面试题
2013/04/22 面试题
毕业生教师求职信
2013/10/20 职场文书
成龙洗发水广告词
2014/03/14 职场文书
机械电子工程专业求职信
2014/06/22 职场文书
合作协议书范文
2014/08/20 职场文书
Python利用机器学习算法实现垃圾邮件的识别
2021/06/28 Python
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电