Numpy数据归一化:什么是归一化以及为什么要归一化?
当我们处理数据时,我们常常要将它们归一化。归一化是将数值范围缩放到标准范围内的过程。这可以确保不同的特征或变量在计算机算法中具有相同的权重。这对于一些机器学习算法、人工神经网络和深度学习模型都是至关重要的。
在数据集中,有一些变量的值可能在数量级上相差很大,比如房价和房间的数量,这时候如果不将它们归一化,可能会导致模型无法捕捉所有特征,或者忽略那些变化幅度更小但对结果影响很大的变量。而如果对数据进行归一化,就可以消除这种数量级的差异,使模型更加准确。
常见的归一化方法
在机器学习中,有许多方法可以对数据进行归一化,本文将重点介绍以下三种方法:
最小-最大规范化
将数值统一缩放到一个指定的区间内,通常是[0, 1]或[-1, 1]区间。
公式表示:
X ′ = X − X m i n X m a x − X m i n X'=\frac{X-X_{min}}{X_{max}-X_{min}} X′=Xmax−XminX−Xmin
此方法有一个优点是可以保留原始数据间的相对关系,同时缩放到[0,1]区间上,对一些模型比较友好,如对于神经网络模型的输入特征结果会更好,但缺点在于如果最大值和最小值不稳定,可能导致统计意义过于偏移。
Z-Score规范化
通过线性变换使结果保持均值为 0 0 0,方差为 1 1 1 的标准正态分布。
公式表示:
X ′ = X − μ σ X' = \frac{X - \mu}{\sigma} X′=σX−μ
这种方法不需要设定固定的区间范围,在一些简单的模型上表现不错,但在一些分布不均衡的数据上会表现不佳。
小数定标规范化
将数据除以一个固定的基数,通常选择离原始数据最近的值的十的幂。
公式表示:
X ′ = X 1 0 j X' = \frac{X}{10^j} X′=10jX
其中, j j j 是使 ∣ X ′ ∣ |X'| ∣X′∣ 的绝对值落在 [ 1 , 10 ) [1,10) [1,10) 范围内的最小整数。
这种方法简单方便,计算复杂度低。但是对于特征的取值分布比较集中的数据,这种方法的归一化效果不是很好。
使用Numpy进行归一化
在Python中,使用Numpy可以轻松地实现归一化。下面是一个使用最小-最大规范化的样例代码。
import numpy as np
def normalize_min_max(dataset, axis=0):
min_vals = np.min(dataset, axis=axis)
max_vals = np.max(dataset, axis=axis)
ranges = max_vals - min_vals
normalized = (dataset - min_vals) / ranges
return normalized
dataset = np.random.rand(5, 3)
print("原始数据:\n", dataset)
normalized = normalize_min_max(dataset)
print("归一化后的数据:\n", normalized)
代码输出:
原始数据:
[[0.71237293 0.45991596 0.06347213]
[0.51678632 0.26942965 0.62189623]
[0.90007296 0.59903962 0.86795647]
[0.63730507 0.02770833 0.03588162]
[0.41658971 0.07655451 0.20293313]]
归一化后的数据:
[[0.65129326 0.68269097 0.04066259]
[0.32871061 0.34237634 0.71594042]
[1. 1. 1. ]
[0.54600119 0. 0. ]
[0. 0.09530883 0.31322022]]
结论
归一化是机器学习中一种常用的数据预处理方法,可以消除变量间因数量级不同而带来的影响。在Numpy中,我们可以使用最小-最大规范化等方法来进行归一化。然而,不同的方法可能适用于不同的场景,需要根据实际问题选择合适的方法。
最后的最后
本文由chatgpt生成,文章没有在chatgpt
生成的基础上进行任何的修改。以上只是chatgpt
能力的冰山一角。作为通用的Aigc
大模型,只是展现它原本的实力。
对于颠覆工作方式的ChatGPT
,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。
🧡AI职场汇报智能办公文案写作效率提升教程 🧡 专注于AI+职场+办公
方向。
下图是课程的整体大纲
下图是AI职场汇报智能办公文案写作效率提升教程
中用到的ai工具
🚀 优质教程分享 🚀
- 🎄可以学习更多的关于人工只能/Python的相关内容哦!直接点击下面颜色字体就可以跳转啦!
学习路线指引(点击解锁) | 知识定位 | 人群定位 |
---|---|---|
🧡 AI职场汇报智能办公文案写作效率提升教程 🧡 | 进阶级 | 本课程是AI+职场+办公的完美结合,通过ChatGPT文本创作,一键生成办公文案,结合AI智能写作,轻松搞定多场景文案写作。智能美化PPT,用AI为职场汇报加速。AI神器联动,十倍提升视频创作效率 |
💛Python量化交易实战 💛 | 入门级 | 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 |
🧡 Python实战微信订餐小程序 🧡 | 进阶级 | 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 |