处理数据时不进行归一化会有什么影响?归一化的作用是什么?什么时候需要归一化?有哪些归一化的方法?
归一化化定义:我是这样认为的,归一化化就是要把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。首先归一化是为了后面数据处理的方便,其次是保正程序运行时收敛加快。
所谓特征归一化,就是将不同类型的特征数值大小变为一致的过程。
特征归一化的意义
1. 提升模型的收敛速度
2. 提高精度,这在涉及到一些距离计算的算法时效果显著,比如算法要计算欧氏距离,上图中x2的取值范围比较小,涉及到距离计算时其对结果的影响远比x1带来的小,所以这就会造成精度的损失。
· 各特征之间的大小范围一致,才能使用距离度量等算法
· 加速梯度下降算法的收敛
· 在SVM算法中,一致化的特征能加速寻找支持向量的时间
· 不同的机器学习算法,能接受的输入数值范围不一样
归一化方法:
). 线性归一化,线性归一化会把输入数据都转换到[0 1]的范围,
2). 0均值标准化,0均值归一化方法将原始数据集归一化为均值为0、方差1的数据集,
关于归一化方法的选择:
1) 在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,第二种方法(Z-score standardization)表现更好。
2) 在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用第一种方法或其他归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围。
sklearn中最常用的特征归一化方法MinMaxScaler和StandardScaler。
它默认将每种特征的值都归一化到[0,1]之间,归一化后的数值大小范围是可调的(根据MinMaxScaler的参数feature_range调整)。下面代码能将特征归一化到[-1,1]之间。
线性回归是一种回归分析技术,回归分析本质上就是一个函数估计的问题(函数估计包括参数估计和非参数估计),就是找出因变量和自变量之间的因果关系。回归分析的因变量是应该是连续变量,若因变量为离散变量,则问题转化为分类问题,回归分析是一个有监督学习问题。
处理数据时不进行归一化会有什么影响?归一化的作用是什么?什么时候需要归一化?有哪些归一化的方法?相关推荐
- MySQL导出数据反单引号_使用mysqldump导出数据时对字段中包含的单引号的处理
最近在做一个日志统计项目,有一个辅助表是在MySQL数据库的,现在要将其迁移到Postgresql,自然是先用mysqldump将MySQL里面的数据导出,然后再导入到Postgresql即可.但在实 ...
- 从Excel中导入数据时,提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决办法...
注意,64位系统,用64位的补丁文件; https://www.cnblogs.com/A2008A/articles/2438962.html 操作系统:使用的是64位的Windows Server ...
- bartender外部表不是预期格式_批量合并Excel数据时“外部表不是预期格式”或“文件包含损坏数据”的两种情况...
很多朋友在用Power Query合并(汇总)Excel数据时,碰到过"DataFormat.Error:外部表不是预期格式"或"DataFormat.Error:文件包 ...
- 存储mysql数据存在特殊字符时处理_转义 存储数据时特殊符号的处理
function url_base64_encode($str){ //将这个方法处理后的数据可以存储,不会有特殊符号 if($str=="") return "&quo ...
- oracle 数据有引号,oracle插入字符串数据时字符串中有'单引号问题
使用insert into(field1,field2...) values('val1','val2'...)时,若值中有单引号时会报错. 处理方法:判断一下val1,val2中是否含有单引号,若含 ...
- mysql 1455_关于Oracle 11g导出数据时 报 ORA-1455错误的处理
关于Oracle 11g导出数据时 报 ORA-1455错误的处理,由于导出的该用户的表可能存在空数据表,那么可能就会出现此其异常. 关于Oracle 11g导出数据时 报 ORA-1455错误的处理 ...
- 在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案[转]
在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案 病症表现为:主要表现为用T-sql语句插入中文数据时数据库显示全是问号"???" 解决办法: 第一种办法 ...
- Sqoop在导入MySQL数据时遇到Timestamp列为0000-00-00 00:00:00报错
为什么80%的码农都做不了架构师?>>> Sqoop在导入MySQL数据时遇到Timestamp列为'0000-00-00 00:00:00'时报错,解决方法是:在JDBC连接 ...
- sql loader 导入数据时的问题
2019独角兽企业重金招聘Python工程师标准>>> 在使用oracle sql loader 工具导入数据时遇到的问题,具体的shell脚本如下: #!/bin/bashexpo ...
最新文章
- Java 洛谷 P1161 开灯
- 正则表达式的简单理解
- ICCV 2017 《Flow-Guided Feature Aggregation for Video Object Detection》论文笔记
- 安装Vuecli新版本正常,但是显示版本是低版本
- android Activity runOnUiThread() 方法的使用
- Jetty与Tomcat的区别 转
- Cordova开发总结(插件篇)
- 绿色五月我们能做点什么
- c语言 头文件卫士详解,C 语言条件编译与防止头文件重复
- Golang 入门 : 打造开发环境
- qi接收启动协议_基于QI协议的无线充电通信系统
- 计算机录入技术五笔输入法教案,五笔输入法教案
- 51单片机的前世今世
- 接口测试工具apipost关于post请求
- linux glibc升级
- 什么专业越老越吃香?
- Iphone 5s/iPad Air/iPad Mini 2 降级10.3.3
- Zabbix自定义报警提示声音
- 华为HCIE云计算认证备考通过心得
- 易支付PHP源码挖鱼网,最新易支付源码完整版 已pj全解密