当前位置: 首页 > wzjs >正文

国外网站代理帝国cms企业门户网站仿站视频教程 网盘

国外网站代理,帝国cms企业门户网站仿站视频教程 网盘,网站后台字体安装,抚州网络推广numpy学习笔记12:实现数组的归一化(0-1范围) 归一化的基本概念: 归一化通常是将数据缩放到一个特定区间。 归一化的公式是将每个元素减去最小值,然后除以最大值和最小值的差。 在NumPy中,可以用np.min()和np.max()…

numpy学习笔记12:实现数组的归一化(0-1范围)

归一化的基本概念:

归一化通常是将数据缩放到一个特定区间。

归一化的公式是将每个元素减去最小值,然后除以最大值和最小值的差。

在NumPy中,可以用np.min()和np.max()来获取数组的最小值和最大值。然后,用这些值来计算每个元素的归一化值。

步骤是:

1. 计算数组的最小值。

2. 计算数组的最大值。

3. 使用公式 (arr - min) / (max - min) 进行归一化。

4. 确保结果在0到1之间。

以下是使用 NumPy 实现数组归一化到 [0, 1] 范围的详细步骤和代码:


归一化公式


实现代码

1. 基础归一化
import numpy as npdef normalize(arr):min_val = np.min(arr)max_val = np.max(arr)# 处理极值(若所有元素相等,返回全0)if max_val == min_val:return np.zeros_like(arr)return (arr - min_val) / (max_val - min_val)# 示例
arr = np.array([5, 10, 15, 20])
normalized_arr = normalize(arr)
print("归一化结果:", normalized_arr)

输出

归一化结果: [0.         0.33333333 0.66666667 1.        ]

扩展场景

1. 按行或列归一化

通过指定 axis 参数,按特定维度归一化:

# 二维数组按列归一化
matrix = np.array([[1, 2], [3, 4]])
min_vals = np.min(matrix, axis=0)  # 每列的最小值 → [1, 2]
max_vals = np.max(matrix, axis=0)  # 每列的最大值 → [3, 4]
normalized = (matrix - min_vals) / (max_vals - min_vals)

输出:

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

以下是针对二维数组按列归一化的 分步计算过程,结合示例数据 matrix = np.array([[1, 2], [3, 4]]) 详细说明:


1. 输入数组结构

matrix = [[1, 2],[3, 4]]
  • 列0[1, 3]

  • 列1[2, 4]


2. 计算每列的最小值和最大值

(1) 按列求最小值 min_vals
  • 沿 axis=0(垂直方向)计算:

    min_vals = np.min(matrix, axis=0)  # → [1, 2]
    • 列0的最小值:min(1, 3) = 1

    • 列1的最小值:min(2, 4) = 2

(2) 按列求最大值 max_vals
  • 沿 axis=0(垂直方向)计算:

    max_vals = np.max(matrix, axis=0)  # → [3, 4]
    • 列0的最大值:max(1, 3) = 3

    • 列1的最大值:max(2, 4) = 4


3. 计算差值矩阵

(1) matrix - min_vals

通过 广播机制min_vals 被扩展为与 matrix 同形状:

matrix - min_vals = [[1-1, 2-2],  # → [[0, 0],[3-1, 4-2]]   #    [2, 2]]

4. 计算分母 max_vals - min_vals

max_vals - min_vals = [3-1, 4-2]  # → [2, 2]

5. 逐元素归一化

将差值矩阵除以分母:

(matrix - min_vals) / (max_vals - min_vals) = [[0/2, 0/2],  # → [[0.0, 0.0],[2/2, 2/2]]   #    [1.0, 1.0]]

最终结果

normalized = [[0.0, 0.0],[1.0, 1.0]]

关键点总结

  1. 按列操作axis=0 确保计算每列的独立最小值/最大值。

  2. 广播机制min_vals 和 max_vals 被扩展为与 matrix 形状匹配。

  3. 归一化公式

通过此过程,原始数据被映射到 [0, 1] 区间,保持每列的分布比例。

2. 处理极值(全相同元素)

若数组所有元素相等,返回全0:

arr = np.array([7, 7, 7])
print(normalize(arr))  # 输出 [0, 0, 0]

注意事项

  1. 数据类型:若输入为整数数组,结果自动转为浮点型。

  2. 极值处理:当 max⁡(X)=min⁡(X)max(X)=min(X) 时,避免除以零错误。

  3. 内存效率:返回的数组是原数组的副本(非视图)。


可视化验证

import numpy as np
import matplotlib.pyplot as plt
# 配置中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = Falseoriginal = np.random.randint(0, 100, 50)
normalized = normalize(original)plt.figure(figsize=(10, 4))
plt.subplot(1, 2, 1)
plt.hist(original, bins=20, color='blue')
plt.title("原始数据分布")plt.subplot(1, 2, 2)
plt.hist(normalized, bins=20, color='red')
plt.title("归一化后分布")
plt.show()

效果:原始数据分布被线性映射到 [0, 1] 区间。


通过上述方法,可以高效实现数组的归一化,适用于数据预处理、特征缩放等场景。


文章转载自:

http://qXMZyOo7.xcjwm.cn
http://lkMtxqOp.xcjwm.cn
http://fqeWlW8o.xcjwm.cn
http://pqMWKJwA.xcjwm.cn
http://CcTyz9SO.xcjwm.cn
http://asMmDydW.xcjwm.cn
http://VyyJUV9p.xcjwm.cn
http://eWy8kBmO.xcjwm.cn
http://ksaXi3WE.xcjwm.cn
http://qbi669BU.xcjwm.cn
http://B3BFjaNk.xcjwm.cn
http://Y9oUq94k.xcjwm.cn
http://lHEKzcUQ.xcjwm.cn
http://ZC9cAkbC.xcjwm.cn
http://GMcocAS6.xcjwm.cn
http://ifjq9KCB.xcjwm.cn
http://F6Ghd3MZ.xcjwm.cn
http://km4tpLA6.xcjwm.cn
http://XFmFlTRo.xcjwm.cn
http://B5yc7RU3.xcjwm.cn
http://LBPYF4pQ.xcjwm.cn
http://39Z3EZzF.xcjwm.cn
http://jEvVKI2G.xcjwm.cn
http://jnI6Wrvw.xcjwm.cn
http://h25LTOjv.xcjwm.cn
http://FR2SHwK2.xcjwm.cn
http://NDJ84ciV.xcjwm.cn
http://5sSdUB7v.xcjwm.cn
http://6kTO9PBm.xcjwm.cn
http://eHFvM2rL.xcjwm.cn
http://www.dtcms.com/wzjs/628615.html

相关文章:

  • 网站seo建设方案价格低速度快很多人喜欢来这翻译
  • 怎么利用个人网站html5 网站开发实战
  • 贵阳做网站好的公司房地产企业网站建设
  • 手机网站触屏版中国交通建设集团英语网站
  • 网站三网合一案例济南营销型网站建设
  • 200 做京剧主题的专业小说网站移动开发的现状和前景
  • 重庆网站公司设计wordpress图片文件目录
  • 网站做哪块简单刷推广链接人数的软件
  • 网站建设分金手指专业七杭州市建设工程招标
  • 无锡网站的建设内网网站怎么建设
  • 网站用品哪里进货好黄骅市医院
  • 网站建设非功能需求江苏元鼎建设工程有限公司网站
  • 做程序题的国外网站南京it培训机构
  • 建立网站是什么建立的什么app推广佣金多
  • 微商城网站建设服务俄语网站里做外贸shop
  • 如何更改网站图标私有云 搭建wordpress
  • 盆景网站建设swot分析手机app应用制作
  • 网站开发 怎样做费用结算商业网点的定义
  • 公司网站设计与管理在线视频制作
  • 注册一个网站要多少钱网站中文通用网址域名
  • 南京企业网站制作价格蓝色大气网站源码
  • 网站开发jsp怎么快速刷排名
  • 滨海新区做网站云浮营销建站公司
  • 四模网站凡科网站制作教程
  • 柳市外贸网站建设seo搜索优化招聘
  • 旅游网站建设开题报告乐清市重大新闻
  • 网站维护 推广做外单网站
  • 电商设计参考网站app 网站可以做的免费推广
  • 河北沧州建设官方网站丰城网站建设公司
  • 网站的建设可以起到什么作用水滴保险官方网站