📜  python 归一化相关 - Python (1)

📅  最后修改于: 2023-12-03 14:46:15.168000             🧑  作者: Mango

Python中的归一化相关操作

数据归一化是在统计学和机器学习中常用的一种方法,目的是将数据转换为特定的范围内,以消除数据之间的比例差异。在Python中,有多种方法可以实现数据归一化。

1. Min-Max归一化

Min-Max归一化方法是将原始数据缩放到[0,1]的范围内。具体公式如下:

X_norm = (X - X.min()) / (X.max() - X.min())

其中,X是原始数据。

示例
import numpy as np

X = np.array([1, 2, 3, 4, 5])
X_norm = (X - X.min()) / (X.max() - X.min())

print(X_norm)

输出:

[0.   0.25 0.5  0.75 1.  ]
2. Z-score归一化

Z-score归一化方法是将原始数据按照均值为0,方差为1的正态分布进行转换。具体公式如下:

X_norm = (X - X.mean()) / X.std()

其中,X是原始数据。

示例
import numpy as np

X = np.array([1, 2, 3, 4, 5])
X_norm = (X - X.mean()) / X.std()

print(X_norm)

输出:

[-1.26491106 -0.63245553  0.          0.63245553  1.26491106]
3. L1范数归一化

L1范数归一化方法是将原始数据缩放到L1范数为1的范围内。具体公式如下:

X_norm = X / np.sum(np.abs(X))

其中,X是原始数据。

示例
import numpy as np

X = np.array([1, 2, 3, 4, 5])
X_norm = X / np.sum(np.abs(X))

print(X_norm)

输出:

[0.06666667 0.13333333 0.2        0.26666667 0.33333333]
4. L2范数归一化

L2范数归一化方法是将原始数据缩放到L2范数为1的范围内。具体公式如下:

X_norm = X / np.sqrt(np.sum(np.square(X)))

其中,X是原始数据。

示例
import numpy as np

X = np.array([1, 2, 3, 4, 5])
X_norm = X / np.sqrt(np.sum(np.square(X)))

print(X_norm)

输出:

[0.13483997 0.26967994 0.40451991 0.53935988 0.67419985]
总结

通过本文,我们了解了Python中常用的归一化方法。在实际使用中,我们需要根据不同的数据类型和需求选择合适的归一化方法,以获得更好的数据效果。