特征不归一化有什么危害?特征归一化公式是什么?

① 例如,我用一个人身高(cm)与脚码(尺码)大小来作为特征值,类别为男性或者女性。我们现在如果有5个训练样本,分布如下:

A [(179,42),男] B [(178,43),男] C [(165,36)女] D [(177,42),男] E [(160,35),女]

② 很容易看到第一维身高特征是第二维脚码特征的4倍左右,那么在进行距离度量的时候,我们就会偏向于第一维特征。

注:这样造成俩个特征并不是等价重要的,最终可能会导致距离计算错误,从而导致预测错误。

注:例如,来了一个测试样本 F(167,43),来预测他是男性还是女性,我们采取k=3来预测。

注:下面是用欧式距离分别算出F离训练样本的欧式距离,选取最近的3个,多数类别就是我们最终的结果,计算如下:

注:由计算可得,最近的前三个分别是C,D,E三个样本,那么由C,E为女性,D为男性,女性多于男性得到我们要预测的结果为女性。

注:这样问题就来了,一个女性的脚43码的可能性,远远小于男性脚43码的可能性。

注:算法会预测 F 为女性是因为由于各个特征量纲的不同,在这里导致了身高的重要性已经远远大于脚码了,这是不客观的。

注:我们应该让每个特征都是同等重要的,这也是我们要归一化的原因!

特征归一化公式是什么?

① 特征归一化公式如下:

Python基础积累(numpy)

numpy创建矩阵

import 

运行结果:

[ 2 23 4]
int32

a 

运行结果:

[[2 3 4]
[3 4 5]]

注:生成2行3列的矩阵。

a 

运行结果:

[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]

注:生成3行4列的全零矩阵。

a 

运行结果:

[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]

注:创建全一数据,同时指定数据类型,http://np.int默认为int32。

a 

运行结果:

[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]

注:创建全空数组,其实每个值都是接近于零的数。

a 

运行结果:

[10 12 14 16 18 20]

注:创建连续数组,数据为10-20之间,步长为2。

b 

运行结果:

[[10 12 14]
[16 18 20]]

注:使用reshape改变上述数据的形状。

a 

运行结果:

[ 1. 1.47368421 1.94736842 2.42105263 2.89473684 3.36842105
3.84210526 4.31578947 4.78947368 5.26315789 5.73684211 6.21052632
6.68421053 7.15789474 7.63157895 8.10526316 8.57894737 9.05263158
9.52631579 10. ]
[[ 1. 1.47368421 1.94736842 2.42105263]
[ 2.89473684 3.36842105 3.84210526 4.31578947]
[ 4.78947368 5.26315789 5.73684211 6.21052632]
[ 6.68421053 7.15789474 7.63157895 8.10526316]
[ 8.57894737 9.05263158 9.52631579 10. ]]

注:linspace(1,10,20) 开始端1,结束端10,且分割成20个数据,生成线性矩阵。

注:reshape使得线性矩阵改为五行四列的矩阵。

"♥每天积累一点点♥"

python array按行归一化_机器学习 第40集:特征不归一化有什么危害?特征归一化公式是什么?( 含有笔记、代码、注释 )...相关推荐

  1. python中sign函数图片_机器学习 第33集:什么是sign函数?什么是sigmoid函数?( 含有笔记、代码、注释 )...

    什么是sign函数?什么是sigmoid函数? ① sign(x)将大于0的分为1,小于0的分为-1. ② sigmoid(x)将大于0.5的分为1,小于0.5的分为0. Python基础积累 函数 ...

  2. python线性回归分析看相关性_机器学习入门-相关分析之简单线性回归

    一.什么是机器学习? 简单来说,机器学习是一类算法的总称,这些算法企图从大量历史数据中挖掘出其中隐含的规律,并用于预测或者分类,更具体的说,机器学习可以看作是寻找一个函数,输入是样本数据,输出是期望的 ...

  3. python第六周实验_机器学习 | 吴恩达机器学习第六周编程作业(Python版)

    实验指导书    下载密码:ovyt 本篇博客主要讲解,吴恩达机器学习第六周的编程作业,作业内容主要是实现一个正则化的线性回归算法,涉及本周讲的模型选择问题,绘制学习曲线判断高偏差/高方差问题.原始实 ...

  4. python编写命令行框架_使用 Python 和 Click 编写命令行应用程序

    简评:python 构建命令行应用的第三方比较有名的包除了 click 之外还有一个叫 docopt,这是一个以文档先行为目标的包.个人是比较倾向于 Click 的,看了这篇文章之后,也很快写了一个 ...

  5. python线性回归分析看相关性_机器学习入门:相关性分析之线性回归

    一.前言 机器学习--特征与标签 : 输入模型的属性是"特征",输出的是"标签" 机器学习的核心是"使用算法解析数据,从中学习,然后对世界上的某件事情 ...

  6. python去掉每行前面_第一个python去掉行号

    (根据我在博客园上连载的四篇文章整理,见http://yanxy.cnblogs.com/,转载请注明出处)近两天内的目标是在我博的每个栏目发一篇文章,先都占个坑再说,空着不好看:) <程序设计 ...

  7. python怎么多行输入_总算晓得python如何多行输入

    总算晓得python如何多行输入 日期:2019-08-25 12:17:49 浏览:317 核心提示:python中多行输入可以大大提高我们的工作效率,那么python如何多行输入呢?一起来了解下吧 ...

  8. python爬取二手房信息_刚刚接触PythonR?教你爬取分析赶集网北京二手房数据(附详细代码)...

    原标题:刚刚接触Python&R?教你爬取分析赶集网北京二手房数据(附详细代码) 源 /数据森麟文 /徐涛 前言: 本文主要分为两部分:Python爬取赶集网北京二手房数据&R对爬取的 ...

  9. python手写字母识别_机器学习--kNN算法识别手写字母

    本文主要是用kNN算法对字母图片进行特征提取,分类识别.内容如下: kNN算法及相关Python模块介绍 对字母图片进行特征提取 kNN算法实现 kNN算法分析 一.kNN算法介绍 K近邻(kNN,k ...

最新文章

  1. MySQL环境配置和入门讲解!
  2. python日历提醒_Python之时间:calender模块(日历)
  3. 一种比较省内存的稀疏矩阵Python存储方案
  4. 7-21 求前缀表达式的值
  5. cocos label html文本,【cocos2dx】创建简单的文字Label——BMFont
  6. [linux]cp和mv对文件和链接影响的区别
  7. Hangfire源码解析-如何实现可扩展IOC的?
  8. tomcat源码 Connector
  9. 【Ubuntu14】Nginx+PHP5+Mysql记录
  10. UIView的一些基本方法 init、loadView、viewDidLoad、viewDidUnload、dealloc
  11. python-正则表达式1909
  12. python type help copyright_python学习 第二天
  13. 在Launcher3的小部件中隐藏Widgets或Shortcuts
  14. [field:picname/]和[field:litpic/]区别
  15. 理解常量指针与指针常量?
  16. 考研高数——牛顿-莱布尼茨公式(N-L公式)的证明
  17. 深度学习概念名词解释总结
  18. xxl-job定时任务
  19. SwiftUI学习笔记[path绘制]
  20. 图片标签z-index设置不起作用

热门文章

  1. 【poi xlsx报错】使用POI创建xlsx无法打开
  2. Eclipse Neon 配置C/C++开发环境
  3. logback常用配置
  4. 删除我的电脑里面软件快捷方式
  5. C# 跨程序集调用常量、变量和函数
  6. SpringMVC+Hibernate +MySql+ EasyUI实现POI导出Excel(二)
  7. Magento利用input type=”file”上传图片
  8. unistd.h 中int access(const char * pathname, int mode); 判断进程能否以mode模式访问pathname文件(可以用来判断文件/目录是否存在)...
  9. Android实现数据存储技术
  10. python 中 feedparser的简单用法