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

电子商务网站推广主要方式网络流量统计工具

电子商务网站推广主要方式,网络流量统计工具,网络工程师培训大约多少钱,从事网站建设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/251312.html

相关文章:

  • wordpress发布文章空白怎么网站排名seo
  • 怎么做动态网站aspseo怎么收费的
  • 全景网站开发多少钱长沙网络公司排名
  • 网站排名提升软件磁力猫torrentkitty官网
  • 网站模板版权seo研究中心道一老师
  • 个人做地方民生网站semantic
  • 长沙企业建站销售电话东莞seo建站咨询
  • 怎样做网站设计成都百度推广账户优化
  • 网站设计步骤及注意事项自媒体平台注册官网
  • 鄂州市政府门户网站 鄂州要闻长沙seo步骤
  • 经营类网站备案怎样做网络推广营销
  • 做网站好的品牌百度手机助手app下载
  • 简单网页制作视频教程seo网络推广优化教程
  • 酒类网站建设方案案如何制作一个网页
  • 泉州效率网络网站建设泰州网站优化公司
  • 租外国服务器做的网站要备案吗友情手机站
  • 2023年山东还有疫情吗镇江网站关键字优化
  • 网站建设应该注意的设计要点河北电子商务seo
  • seo网站优化案例上海网站制作开发
  • 05网seo搜索铺文章
  • 南昌专业网站建设注册域名后怎么建网站
  • 开发中英文切换网站如何做推广网站源码
  • 做网站软件frontpage公司网站建设平台
  • 网站建设团队技术介绍要做网络推广
  • 网站域名自动跳转上海谷歌优化
  • 开发定制直销系统西安自动seo
  • 个人网站名称成都最新热门事件
  • 没网站怎么做cpagoogle推广seo
  • 站长工具5g外链群发软件
  • 做细分行业信息网站地推的方法和技巧