python normalize函数_数据正规化 (data normalization) 的原理及实现 (Python sklearn)
原理
数据正规化(data normalization)是将数据的每个样本(向量)变换为单位范数的向量,各样本之间是相互独立的.其实际上,是对向量中的每个分量值除以正规化因子.常用的正规化因子有 L1, L2 和 Max.假设,对长度为 n 的向量,其正规化因子 z 的计算公式,如下所示:
注意:Max 与无穷范数
不同,无穷范数
是需要先对向量的所有分量取绝对值,然后取其中的最大值;而 Max 是向量中的最大分量值,不需要取绝对值的操作.
补充:一阶范数也称为曼哈顿距离(Manhanttan distance)或街区距离;二阶范数也称为欧式距离(Euclidean distance).
实现
在 Python 库 sklearn 中,有两种实现方式进行数据的正规化,这两种实现都可通过参数 norm 选择正规化因子,可选项有 'l1', 'l2' 和 'max'.
方法一:采用 sklearn.preprocessing.Normalizer 类,其示例代码如下:
#!/usr/bin/env python#-*- coding: utf8 -*-#author: klchang
# Use sklearn.preprocessing.Normalizer class to normalize data.
from __future__ importprint_functionimportnumpy as npfrom sklearn.preprocessing importNormalizer
x= np.array([1, 2, 3, 4], dtype='float32').reshape(1,-1)print("Before normalization:", x)
options= ['l1', 'l2', 'max']for opt inoptions:
norm_x= Normalizer(norm=opt).fit_transform(x)print("After %s normalization:" % opt.capitalize(), norm_x)
方法二:采用 sklearn.preprocessing.normalize 函数,其示例代码如下:
#!/usr/bin/env python#-*- coding: utf8 -*-#author: klchang
# Use sklearn.preprocessing.normalize function to normalize data.
from __future__ importprint_functionimportnumpy as npfrom sklearn.preprocessing importnormalize
x= np.array([1, 2, 3, 4], dtype='float32').reshape(1,-1)print("Before normalization:", x)
options= ['l1', 'l2', 'max']for opt inoptions:
norm_x= normalize(x, norm=opt)print("After %s normalization:" % opt.capitalize(), norm_x)
参考资料
1. Scikit-learn Normalization mode (L1 vs L2 & Max). https://stats.stackexchange.com/questions/225564/scikit-learn-normalization-mode-l1-vs-l2-max
2. sklearn.preprocessing.Normalizer - scikit-learn Documentation. http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.Normalizer.html
3. sklearn.preprocessing.normalize - scikit-learn Documentation. http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.normalize.html
4. scikit-learn Documentation - 4.3. Preprocessing data. http://scikit-learn.org/stable/modules/preprocessing.html
5. Norm (mathematics). https://en.wikipedia.org/w/index.php?title=Norm_(mathematics)&oldid=838245314
python normalize函数_数据正规化 (data normalization) 的原理及实现 (Python sklearn)相关推荐
- 数据正规化(data normalization)的原理及实现(numpy)
原理 数据正规化(data normalization)是将数据的每个样本(向量)变换为单位范数的向量,各样本之间是相互独立的.其实际上,是对向量中的每个分量值除以正规化因子.常用的正规化因子有 L1 ...
- python normalize函数_归一化函数normalize详解
opencv 2 归一化函数normalize详解 1. 归一化定义与作用 归一化就是要把需要处理的数据经过处理后 (通过某种算法)限制在你需要的一定范围内.首先归一化是为了后面数据处理的方便,其次是 ...
- excel运行python自定义函数_终于,可以在Excel中直接使用Python!
大家好,我是早起. 经常给大家推荐好用的数据分析工具,也收到了铁子们的各种好评.这次也不例外,我要再推荐一个,而且是个爆款神器. Excel和Jupyter Notebok都是我每天必用的工具,而且两 ...
- python包裹 函数_什么是最干净的方法调用一个Python函数从C++与一个Sigg包裹的Obj....
下面是我解决这个问题的工作方案.它使用了上述"无所不能"和"柔印"的建议. 特别是,我们用SWIG director创建一个回调类,然后在Python中从中派生 ...
- python 数据比对 函数_用python比对csv文件中的数据
做了个问卷,下载了收集数据xlsx文件,把数据弄到另一个表格文件中,需要校验数据转移的准确性. 使用python的csv库,使用csv.reader(f)函数读取表格数据,转成列表,确定数据行的主键, ...
- python代码规范化_数据标准化方法及其Python代码实现
数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间.目前数据标准化方法有多种,归结起来可以分为直线型方法(如极值法.标准差法).折线型方法(如三折线法).曲线型方法 ...
- python partition函数_如何使用正确的姿势进行高效Python函数式编程?
演讲者:丁来强@Splunk PyConChina2015 北京站 9月12日与9月19日,PyConChina 2015上海站与北京站顺利落下帷幕."人生苦短,Python 当歌&quo ...
- python编写函数_浅谈Python 函数式编程
匿名函数lambda表达式 什么是匿名函数? 匿名函数,顾名思义就是没有名字的函数,在程序中不用使用 def 进行定义,可以直接使用 lambda 关键字编写简单的代码逻辑.lambda 本质上是一个 ...
- python log函数_求你别再花大价钱学 Python 之爬虫实战
引子 Python 基本概念 Python 优势和劣势 优势 Python 的劣势 Python 安装设置 Python 基本语法 程序例子 Python 基本语法 Python 爬虫实现 爬虫相关 ...
最新文章
- CircularFloatingActionMenu
- 超越梦想,追求卓越——图灵五周年生日聚会圆满成功
- IT外企那点事[转载]
- np.c_和np.r_用法
- 1.4 计算机系统概述思维导图小结-常见问题和易混淆知识点(组成原理)
- matlab绘制蜂窝,PPT技巧:如何快速设计蜂窝表达的图形设计?
- php 汉字转拼音类,PHP汉字转换拼音的类_php
- JavaScript 发布-订阅模式
- 无法联系上证书的吊销服务器,CA服务器搭建问题,日志分析---吊销功能无法检查证书的吊销...
- java语言执行模式,使用java.exe执行静默模式
- 解决mac安装homebrew后报错-bash: brew: command not found
- 百度地图Polyline 清除
- 记一次spirngMVC整合HttpPrinter的过程
- Linux系统如何安装网易云音乐
- TL-WR720n 硬改 16M rom
- nebulagraph exchange3.0.x
- python遍历字母_如何遍历字母表?
- 关于认知升级的思考-认知升级是深度思考、认知升级是探索未知
- react-router嵌套路由页面无法显示
- harbor 下载地址(国内代理)