均值归一化详解_matlab数据归一化

均值归一化详解_matlab数据归一化数据归一化[TOC]将所有的数据映射到同一尺度。​首先,为什么需要数据归一化?举个简答的例子。样本间的距离时间所主导,这样在样本1以[1,200]输入到模型中去的时候,由于200可能会直接忽略到1的存在,因此我们需要将数据进行归一化。比如将天数转换为占比1年的比例,200/365=0.5479,100/365=0.2740。一、最值归一化最值归一化(Nor…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

数据归一化


[TOC]

将所有的数据映射到同一尺度。

​ 首先,为什么需要数据归一化?举个简答的例子。样本间的距离时间所主导,这样在样本1以[1, 200]输入到模型中去的时候,由于200可能会直接忽略到1的存在,因此我们需要将数据进行归一化。比如将天数转换为占比1年的比例,200/365=0.5479, 100/365=0.2740。

4921eb1a3891a3c880f063013001ce66.png

一、最值归一化

最值归一化(Normalization):把所有数据映射到0-1之间。适用于分布有明显边界的情况,受 outliner影响较大。

均值归一化详解_matlab数据归一化
import 

输出结果:

array([84, 18, 75, 75, 78, 30, 39, 33, 29, 30, 48, 77, 54, 30,  1, 32, 91,
       60, 73, 78, 89, 16, 71, 47, 87, 43, 24, 67, 70, 50, 58, 56, 69, 11,
       19, 97, 64, 53, 37, 18, 84, 77,  6,  3, 91, 48, 14,  6, 70, 36, 93,
       43, 78, 78, 73, 18, 96, 58, 77, 78, 29, 96, 75, 59, 58, 19, 65, 90,
       67, 73, 72,  1, 89, 70, 59, 96, 42, 73, 58,  8, 61, 65, 78, 86, 98,
       94, 52,  1, 59, 86, 44, 28, 87,  2, 91, 75, 19, 91, 46, 92])
(x-np.min(x)) / (np.max(x) - np.min(x))

输出结果:

array([0.8556701 , 0.17525773, 0.7628866 , 0.7628866 , 0.79381443,
       0.29896907, 0.39175258, 0.32989691, 0.28865979, 0.29896907,
       0.48453608, 0.78350515, 0.54639175, 0.29896907, 0.        ,
       0.31958763, 0.92783505, 0.60824742, 0.74226804, 0.79381443,
       0.90721649, 0.15463918, 0.72164948, 0.4742268 , 0.88659794,
       0.43298969, 0.2371134 , 0.68041237, 0.71134021, 0.50515464,
       0.58762887, 0.56701031, 0.70103093, 0.10309278, 0.18556701,
       0.98969072, 0.64948454, 0.53608247, 0.37113402, 0.17525773,
       0.8556701 , 0.78350515, 0.05154639, 0.02061856, 0.92783505,
       0.48453608, 0.13402062, 0.05154639, 0.71134021, 0.36082474,
       0.94845361, 0.43298969, 0.79381443, 0.79381443, 0.74226804,
       0.17525773, 0.97938144, 0.58762887, 0.78350515, 0.79381443,
       0.28865979, 0.97938144, 0.7628866 , 0.59793814, 0.58762887,
       0.18556701, 0.65979381, 0.91752577, 0.68041237, 0.74226804,
       0.73195876, 0.        , 0.90721649, 0.71134021, 0.59793814,
       0.97938144, 0.42268041, 0.74226804, 0.58762887, 0.07216495,
       0.6185567 , 0.65979381, 0.79381443, 0.87628866, 1.        ,
       0.95876289, 0.5257732 , 0.        , 0.59793814, 0.87628866,
       0.44329897, 0.27835052, 0.88659794, 0.01030928, 0.92783505,
       0.7628866 , 0.18556701, 0.92783505, 0.46391753, 0.93814433])
X = np.random.randint(0, 100, (50, 2))
X[:10, :]
X = np.array(X, dtype=float)
X[:, 0] = (X[:, 0] - np.min(X[:, 0])) / (np.max(X[:, 0]) - np.min(X[:, 0]))
X[:, 0]
X[:, 1] = (X[:, 1] - np.min(X[:, 1])) / (np.max(X[:, 1]) - np.min(X[:, 1]))
X[:, 1]
X[:10, :]
plt.scatter(X[:,0], X[:,1])
plt.show()
np.mean(X[:,0])
np.std(X[:, 0])
np.mean(X[:,1])
np.std(X[:, 1])

二、均值方差归一化

均值方差归一化(standardization):把所有数据归一化到均值为0方差为1的分布中。适用于数据分 布没有明显的边界,有可能存在极端的数据值。

均值归一化详解_matlab数据归一化
x2 

三、对训练集和测试集都进行归一化?

​ 我们得到数据集训练模型之前,首先会把数据集进行切分,分成训练集和测试集,如果需要对数据进行归一化,我们可以很容易地通过训练集得到其均值和方差,最大值最小值。但是测试集呢?如何对测试集进行数据归一化呢?

​ 正常情况下,测试数据集是模拟真实环境的,既然是真实环境,我们就很可能无法得到所有的测试集。因此当有一个新的数据需要进行预测时,我们需要使用训练集的均值方差,最大值最小值对测试集数据进行归一化。在scikit-learn中封装了Scaler保存训练数据集中的均值和方差等关键信息。

import 

​ 接下来测试一下数据归一化之后KNN的性能:

from 

输出结果:1.0

​ 如果训练集进行了归一化,测试集不做归一化试试?

knn_clf

输出结果:0.3333333333333333

四、使用面向对象自己编写均值方差归一化

from 

五、使用面向对象自己编写最值归一化

from 

其实,还有更多的数据归一化的方式,后续再进行完善!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183229.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月11日 上午10:46
下一篇 2022年10月11日 上午11:00


相关推荐

  • oracle数据库怎么创建连接_eclipse连接数据库代码

    oracle数据库怎么创建连接_eclipse连接数据库代码应用场景:目标数据分散在多个实例下的时候,需要把这些需要的数据整合到同一个数据库下,需要创建数据库连接。用语句创建参考文章:https://blog.csdn.net/hongweibing1/article/details/50623669但是报错:“口令缺失或无效”,选择手动创建。1、找到DatabaseLinks,右键选择“新建”2、进入“创建数据库连接”窗口,勾选“公共”,填写“数据库连接-名称”、“连接到-用户名”、“连接到-口令”、“连接到-数据库”。3、点击左下方的“应用”即

    2026年2月17日
    5
  • ZAB协议简介

    ZAB协议简介Zookeeper 使用 ZookeeperAto ZAB 协议来保障分布式数据一致性 ZAB 是一种支持崩溃恢复的消息广播协议 采用类似 2PC 的广播模式保证正常运行时性能 并使用基于 Paxos 的策略保证崩溃恢复时的一致性 在阅读本文前建议先了解 2PC 和 PaxosZAB 协议中节点存在四种状态 Leading 当前节点为集群 Leader 负责协调事务

    2026年1月21日
    2
  • 小旋风虚拟服务器怎么用,小旋风aspweb服务器该怎么使用

    小旋风虚拟服务器怎么用,小旋风aspweb服务器该怎么使用小旋风 aspweb 服务器该怎么使用简单的个人 web 服务器合于所有 win32 平台 能自动在表中隐藏 现的功能是 1 定义网页录 2 主页默认为 index htm 3 可自定义端口 4 可自定义服务端每次发送数据包的大小 5 为稳定期间 本服务器使用多线程的方法 可满足不同场合的使用 6 运行时可以隐藏窗口 用法 httprootdirp hide 参数说明 rootdir

    2026年3月19日
    2
  • matlab极性电容叫什么,什么是无极性电容[通俗易懂]

    描述无极电容就是没有极性电源正负极的电容器,无极性电容器的两个电极可以在电路中随意的接入。因为这款电容不存在漏电的现象,主要应用在耦合,退耦,反馈,补偿,振荡等电路中。图为无极性电容参考图。无极电容就是没有极性电源正负极的电容器,无极性电容器的两个电极可以在电路中随意的接入。因为这款电容不存在漏电的现象,主要应用在耦合,退耦,反馈,补偿,振荡等电路中。无极性电容两电极无正负极性之分,主要用于交流电…

    2022年4月12日
    53
  • 国内主流AI Agent平台全解析:腾讯云智能体开发平台为何脱颖而出?

    国内主流AI Agent平台全解析:腾讯云智能体开发平台为何脱颖而出?

    2026年3月16日
    1
  • Linux终止进程的工具kill/killall/pkill/xkill/skill用法区别(转)

    Linux终止进程的工具kill/killall/pkill/xkill/skill用法区别(转)

    2022年3月5日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号