迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中归一化向量

作者:迹忆客 最近更新:2024/03/12 浏览次数:

机器学习领域的一个普遍概念是在将向量或数据集传递给算法之前对其进行归一化。

当我们谈论归一化向量时,我们说它的向量大小为 1,作为单位向量。

在本教程中,我们将将 numpy 数组转换为单位向量。


使用数学公式对 Python 中的向量进行归一化

在这种方法中,我们将使用数学公式来计算数组的向量范数。当我们用范数向量对数组进行除法时,我们得到了归一化向量。以下代码实现了这一点。

import numpy as np

v = np.random.rand(10)

normalized_v = v / np.sqrt(np.sum(v ** 2))
print(normalized_v)

输出:

[0.10366807 0.05821296 0.11852538 0.42957961 0.27653372 0.36389277
 0.47575824 0.32059888 0.2721495  0.41856126]

请注意,如果向量的长度为 0,则此方法将返回一些错误。


在 Python 中使用 numpy.linalg.norm() 函数归一化向量

Python 中的 NumPy 模块具有 norm() 函数,该函数可以返回数组的向量范数。然后,用该范数矢量对数组进行除法以获得归一化矢量。例如,在下面的代码中,我们将创建一个随机数组,并使用此方法查找其规范化形式。

import numpy as np

v = np.random.rand(10)
normalized_v = v / np.linalg.norm(v)
print(normalized_v)

输出:

[0.10881785 0.32038649 0.51652046 0.05670539 0.12873248 0.52460815
 0.32929967 0.32699446 0.0753471  0.32043046]

在 Python 中使用 sklearn.preprocessing.normalize() 函数归一化向量

sklearn 模块具有可用于数据预处理和其他机器学习工具的有效方法。该库中的 normalize() 函数通常与 2-D 矩阵一起使用,并提供 L1 和 L2 归一化的选项。下面的代码将此函数与一维数组配合使用,并找到其归一化化形式。

import numpy as np
from sklearn.preprocessing import normalize

v = np.random.rand(10)
normalized_v = normalize(v[:, np.newaxis], axis=0).ravel()
print(normalized_v)

输出:

[0.19361438 0.36752554 0.26904722 0.10672546 0.32089067 0.48359538
 0.01824837 0.47591181 0.26439268 0.33180998]

上面方法中使用的 ravel() 方法用于在 Python 中展平多维数组。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Python 中将 Tensor 转换为 NumPy 数组

发布时间:2024/03/12 浏览次数:118 分类:Python

在 Python 中,可以使用 3 种主要方法将 Tensor 转换为 NumPy 数组:Tensor.numpy()函数,Tensor.eval()函数和 TensorFlow.Session()函数。

将 PIL 图像转换为 NumPy 数组

发布时间:2024/03/12 浏览次数:153 分类:Python

在 Python 中,可以使用两种主要方法将 PIL 图像转换为 3 维 NumPy 数组:numpy.array()函数和 numpy.asarray()函数。

Python NumPy 中的逐元素除法

发布时间:2024/03/12 浏览次数:177 分类:Python

有两种主要方法可用于在 Python 中对 NumPy 数组执行逐元素除法,即 numpy.divide() 函数和 / 运算符。

如何在 Matplotlib Pyplot 中显示网格

发布时间:2024/02/04 浏览次数:128 分类:Python

本文演示了如何在 Python Matplotlib 中在一个图上画一个网格。使用 grid()函数来绘制网格,并解释了如何改变网格颜色和线条类型。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便