No.1. 数据归一化的目的
数据归一化的目的,就是将数据的所有特征都映射到同一尺度上,这样可以避免由于量纲的不同使数据的某些特征形成主导作用。
 
No.2. 数据归一化的方法
数据归一化的方法主要有两种:最值归一化和均值方差归一化。
 
最值归一化的计算公式如下:

最值归一化的特点是,可以将所有数据都映射到0-1之间,它适用于数据分布有明显边界的情况,容易受到异常值(outlier)的影响,异常值会造成数据的整体偏斜。
 
均值方差归一化的计算公式如下:

均值方差归一化的特点是,可以将数据归一化到均值为0方差为1的分布中,不容易受到异常值(outlier)影响。
 
No.3. 向量和矩阵的最值归一化
 
向量的最值归一化

矩阵的最值归一化

No.4. 向量和矩阵的均值方差归一化
 
向量的均值方差归一化

矩阵的均值方差归一化

 
No.5. sklearn中对数据集归一化的流程

No.6. 使用鸢尾花数据集进行数据归一化

No.7. 简单实现一个自己的StandardScaler类

No.8. 机器学习流程回顾:
首先我们需要将数据集分成训练数据集和测试数据集两部分;对于kNN这种算法,我们需要保证数据在同一尺度下,因此要进行数据的归一化,训练数据集通过一个Scaler进行数据的归一化;将归一化后的数据进行训练,训练过程中要使用网格搜索来寻找最好的超参数,训练后得到最终的模型;之后,对于测试数据集,需要使用相同的Scaler进行归一化,然后送进用训练数据集得到的模型,得到模型分类的准确度,这样就可以确定训练数据集得到的模型的优劣。

第四十九篇 入门机器学习——数据归一化(Feature Scaling)的更多相关文章

  1. 第四十六篇 入门机器学习——kNN - k近邻算法(k-Nearest Neighbors)

    No.1. k-近邻算法的特点 No.2. 准备工作,导入类库,准备测试数据 No.3. 构建训练集 No.4. 简单查看一下训练数据集大概是什么样子,借助散点图 No.5. kNN算法的目的是,假如 ...

  2. 第四十二篇 入门机器学习——Numpy的基本操作——索引相关

    No.1. 使用np.argmin和np.argmax来获取向量元素中最小值和最大值的索引 No.2. 使用np.random.shuffle将向量中的元素顺序打乱,操作后,原向量发生改变:使用np. ...

  3. 第三十九篇 入门机器学习——Numpy.array的基础操作——合并与分割向量和矩阵

    No.1. 初始化状态 No.2. 合并多个向量为一个向量 No.3. 合并多个矩阵为一个矩阵 No.4. 借助vstack和hstack实现矩阵与向量的快速合并.或多个矩阵快速合并 No.5. 分割 ...

  4. 数据归一化Feature Scaling

    数据归一化Feature Scaling 当我们有如上样本时,若采用常规算欧拉距离的方法sqrt((5-1)2+(200-100)2), 样本间的距离被‘发现时间’所主导.尽管5是1的5倍,200只是 ...

  5. Jmeter(四十九) - 从入门到精通高级篇 - jmeter使用监视器结果监控tomcat性能(详解教程)

    1.简介 上一篇宏哥讲解了利用jmeter的插件来监控服务器资源,这一篇讲解分享如何使用jmeter的监视器结果监控tomcat性能. 2.准备工作 文章标题中提到jmeter和tomcat,那么只需 ...

  6. 第三十八篇 入门机器学习——Numpy.array的基本操作——查看向量或矩阵

    No.1. 初始化状态 No.2. 通过ndim来查看数组维数,向量是一维数组,矩阵是二维数组 No.3. 通过shape来查看向量中元素的个数或矩阵中的行列数 No.4. 通过size来查看数组中的 ...

  7. 第四十九篇 -- 添加联系人信息Addcontact

    往通讯录里添加联系人 首先,在清单文件里添加读写权限 <uses-permission android:name="android.permission.READ_CONTACTS&q ...

  8. 第三十六篇 入门机器学习——Jupyter Notebook中的魔法命令

        No.1.魔法命令的基本形式是:%命令   No.2.运行脚本文件的命令:%run %run 脚本文件的地址 %run C:\Users\Jie\Desktop\hello.py # 脚本一旦 ...

  9. 第三十五篇 入门机器学习——Juptyer Notebook中的常用快捷键

        1.运行当前Cell:Ctrl + Enter   2.运行当前Cell并在其下方插入一个新的Cell:Alt + Enter   3.运行当前Cell并选中其下方的Cell:Shift + ...

随机推荐

  1. 响应式Web设计:构建令人赞叹的Web应用程序的秘诀

    骨架屏(Skeleton Screen) 参考博客:https://medium.com/@owencm/reactive-web-design-the-secret-to-building-web- ...

  2. C#设计模式学习笔记:(22)备忘录模式

    本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/8176974.html,记录一下学习过程以备后续查用. 一.引言 今天我们要讲行为型设计模式的第十个模式--备 ...

  3. UI自动化技术在高德的实践

    一.背景汽车导航作为ToB业务,需要满足不同汽车厂商在功能和风格上体现各自特色的需求.针对这种情况,传统的UI开发方式,基本上是一对一的特别定制.但是这种方式动辄就要500~600人日的工作量投入,成 ...

  4. sql对于表格中列的删改

    mysql与oracle char为定长字符串 var为可变字符串 修改表名:rename table1 to table2:(mysql) alter table1 rename to table2 ...

  5. MFC/QT 学习笔记(一)——认识windows基础库

    MFC (微软基础类库),Windows系统平台做GUI尚且OK,但不支持跨平台. //Windows消息机制: //1.SDK与API Software Development Kit,为特定软件框 ...

  6. 在本地搭建git服务器

    GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用. 搭建Gi ...

  7. 00-django | 02-处理HTTP请求

    00-django | 02-处理HTTP请求 python Django Django 处理 HTTP 请求 Hello 视图函数 我们先以一个最简单的 Hello World 为例来看看 djan ...

  8. junit 运行(eclipse + IDEA)

    记得刚用IDEA  开发的时候, 什么都还不熟,以为junit 运行还跟eclipse 一样, 结果试了后才知道是不一样的. 现在刚好写junit 相关的,也就都记录下来吧 Eclipse:eclip ...

  9. opencv —— 同时识别三种颜色

    要点: 1.识别一种颜色 minH = ; //色相 maxH = ; minS = ; //饱和度 maxS = ; minV = ; // inRange(原图像, 最小值的范围, 最大值的范围, ...

  10. 社会工程学 | 浅谈“答题”APP的赌博骗局

    本文写于2018年2月18日,转载于我的知乎文章,请结合实际阅读. 这么多年来在认识的网骗手段越来越多了,考虑到今后工作方向,会继续记录.   微信小程序"头脑王者"被封禁后,更多 ...