【机器学习】 特征归一化的重要性及方式

embedded/2025/2/12 18:32:46/

特征归一化

    • V1.0
    • 特征归一化的重要性
    • 特征归一化的方式
      • 最大最小值归一化
        • 最大最小值归一化的局限性
      • 零均值归一化
    • 测试集的归一化

V1.0

特征归一化的重要性

特征归一化的问题产生于,我们在使用特征向量中不同的特征数据时,特征数据尺度(或者说数量级不同)而造成的问题。
例如,KNN算法中不同的计算距离时,不同特征的量纲不同,比如说特征1的数量级大概在100左右附近,特征2的数量大概在1左右附近,在使用特征1和特征2计算距离时,特征1就会对最终的距离结果产生很大的影响,而特征2的影响就变得相对小很多,这会导致结果的较大偏差。因此要进行特征归一化,将不同特征变换到同一尺度。
d i s t a n c e = ( 120 − 90 ) 2 + ( 1.2 − 1.0 ) 2 distance=\sqrt{(120-90)^2+(1.2-1.0)^2} distance=(12090)2+(1.21.0)2

特征归一化的方式

特征归一化主要包括两种方式

  • 最大最小值归一化
  • 零均值归一化

最大最小值归一化

x n o r m = x − x m i n x m a x − x m i n x_{norm}=\frac{x-x_{min}}{x_{max}-x_{min}} xnorm=xmaxxminxxmin
其中 x m i n {x_{min}} xmin是数据的最小值, x m a x {x_{max}} xmax是数据的最大值。
适用于数据有限范围的情况,因为其需要使用最大值最小值

最大最小值归一化的局限性

极端数据会对最大最小值归一化的结果产生较大影响。
假设我们有一组一维数据,其中有一个很极端的数据,比如说5000。其他数据大概分布在0-1000左右,这会导致这组数据的最大最小值归一化的结果,一般的数据会分布在0.2左右。

零均值归一化

x n o r m = x − μ σ x_{norm}=\frac{x-\mu}{\sigma} xnorm=σxμ
其中 μ \mu μ 是数据的均值, σ \sigma σ 是数据的标准差。
零均值归一化,适合于绝大多数的情况。

测试集的归一化

假设我们使用零均值归一化,得出了训练集的数据,即训练集的均值和标准差。那么我们在测试集上使用什么均值和标准差呢?
正确的方法是使用训练集的数据,这是因为测试集的数据往往较难获得。在测试样本较少的情况下,不能很好表示的平均的样本的分布情况。


http://www.ppmy.cn/embedded/161660.html

相关文章

react 19 useOptimistic 竞争更新乐观值时阻塞

react 19 刚刚出,我在官网上调试这个 useOptimistic api 时,发现了一个竞争调用时的阻塞状态。当连续多次调用 updateFn 参数,且每次更新时间较长时,乐观状态的更新被阻塞了。 前往官网 useOptimistic 一节,修改末尾 …

PyCharm 批量替换

选择替换的内容 1. 打开全局替换窗口 有两种方式可以打开全局替换窗口: 快捷键方式: 在 Windows 或 Linux 系统下,按下 Ctrl Shift R。在 Mac 系统下,按下 Command Shift R。菜单操作方式:点击菜单栏中的 Edit&…

hi3516cv610用海思arm-v01c02-linux-musleabi-strip工具,对库进行瘦身

hi3516cv610用海思arm-v01c02-linux-musleabi-strip工具,对库进行瘦身 执行 arm-v01c02-linux-musleabi-strip libcrypto.so.1.1 应用该工具,对程序裁剪很实用

PC端自动化测试实战教程-5-pywinauto 操作PC端应用程序窗口 - 下篇(详细教程)

1.简介 上一篇宏哥主要讲解和介绍了如何获取PC端应用程序窗口信息和如何连接窗口对其进行操作的常用的几种方法。今天宏哥接着讲解和分享一下窗口的基本操作:最大化、最小化、恢复正常、关闭窗口、获取窗口状态和获取窗口坐标。以及窗口的其他打开方法和选择方法。…

服务器有多少线程?发起一个请求调用第三方服务,是新增加一个请求吗?如果服务器线程使用完了怎么办?

目录 1. 服务器有多少线程? (1)服务器类型 (2)配置参数 (3)硬件资源 2. 发起一个请求调用第三方服务,是新增加一个线程吗? (1)同步调用 (2)异步调用 (3)HTTP 客户端 3. 如果服务器线程使用完了怎么办? (1)请求被拒绝 (2)性能下降 (3)解决方案…

HTML5--网页前端编程(下)

HTML5–网页前端编程(下) 9.常用标签下 (1)表格标签 用来展示数据,显示数据,规整条理,可读性好 基本语法 <table><tr> <td>单元格内的文字</td> <td>单元格内的文字</td>… </tr> <tr> <td>单元格内的文字&l…

关于JVM

本文分为两部分&#xff0c;一部分对JVM进行大致总结&#xff0c;第二部分为对周志明的JVM进行梳理 一&#xff1a;大致总结 首先利用上面这张图来大致说一下JVM&#xff1a;首先把一个.java文件编译为一个.class文件&#xff08;我们可以认为.java是用java写的&#xff0c;.c…

数据结构--八大排序算法

1. 直接插入排序 当插入第 i(i>1) 个元素时&#xff0c;前面的 array[0],array[1],…,array[i-1] 已经排好序&#xff0c;此用 array[i] 的排序码与 array[i-1],array[i-2],… 的排序码顺序进行比较&#xff0c;找到插入位置即将 array[i] 插入&#xff0c;原来位置上的元素…