📅  最后修改于: 2023-12-03 14:46:15.168000             🧑  作者: Mango
数据归一化是在统计学和机器学习中常用的一种方法,目的是将数据转换为特定的范围内,以消除数据之间的比例差异。在Python中,有多种方法可以实现数据归一化。
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. ]
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]
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]
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中常用的归一化方法。在实际使用中,我们需要根据不同的数据类型和需求选择合适的归一化方法,以获得更好的数据效果。