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

个人网站模板html全国疫情防控最新数据

个人网站模板html,全国疫情防控最新数据,武汉行业门户网站建设,中卫网站设计公司招聘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://www.dtcms.com/wzjs/322379.html

相关文章:

  • 如何做微信公众号seo管理是什么
  • b2c购物网站广告主广告商对接平台
  • 廊坊关键词排名推广深圳关键词优化软件
  • 安徽网站建设服务平台跨境电商平台注册开店流程
  • 网页做好怎么变成网站app注册接单平台
  • 网站底部给网站地图做链接网站百度关键词seo排名优化
  • 企业网站建seo网站制作优化
  • 网站建设课程设计报告总结优化师
  • 做网站一定要用cms吗广告
  • 网站开发黄色片小程序开发需要哪些技术
  • 怎么做自己的博客网站小程序制作费用一览表
  • 那个网站可以找人做兼职优化设计方案
  • 怎么制作网站设计seo整站优化吧
  • 有哪些网站做团购最好昆山网站建设公司
  • 如何提高网站的权重模板免费网站建设
  • 网站右下角浮动效果如何做it培训班大概需要多少钱
  • wordpress可以做什么站广告设计网站
  • 如何用织梦做网站详细教程自动引流免费app
  • php网站开发实例教程书蜘蛛seo超级外链工具
  • 安徽网络推广推广机构seo站长助手
  • 单页网站的制作常见的网络营销推广方式有哪些
  • 重庆市住房和城乡建设委员会官方网站推广普通话标语
  • 江西短视频seo搜索报价seo优化快速排名
  • 网站建设都需要推广普通话宣传标语
  • 用国旗做专利的是哪个网站网站优化是什么
  • 佛山高端网站制作公司东莞seo搜索
  • 找人给公司做网站去哪找短视频seo营销
  • 如何用ps做网站图标免费企业网站建设流程
  • 12306的网站多少钱做的免费发布信息的平台有哪些
  • 车陂手机网站建设报价西安网站公司推广