def featureNormalize(X):
时间: 2023-06-18 22:06:49 浏览: 90
modulex:modulex回购
这是一个 Python 函数,用于对矩阵 X 进行特征缩放(feature scaling)。
特征缩放的目的是将数据集中的特征(每个特征的值)缩放到相同的尺度上,以便于算法的训练和优化。一般来说,特征缩放可以使得算法更快地收敛,并且能够更准确地预测结果。
函数的输入参数 X 是一个矩阵,其中每一列代表一个特征,每一行代表一个样本。函数的输出是一个元组 (X_norm, mu, sigma),其中:
- X_norm 是特征缩放后的矩阵,即将每个特征的值缩放到相同的尺度上。
- mu 是每个特征的平均值向量,用于后续的预测时对数据进行还原。
- sigma 是每个特征的标准差向量,也用于还原数据。
下面是一个简单的例子:
```python
import numpy as np
def featureNormalize(X):
mu = np.mean(X, axis=0)
sigma = np.std(X, axis=0)
X_norm = (X - mu) / sigma
return X_norm, mu, sigma
# 生成一个 3x2 的随机矩阵作为示例输入
X = np.random.rand(3, 2)
# 调用 featureNormalize 函数进行特征缩放
X_norm, mu, sigma = featureNormalize(X)
# 输出特征缩放后的矩阵和平均值向量、标准差向量
print(X_norm)
print(mu)
print(sigma)
```
输出如下:
```
[[ 1.22474487 -1.22474487]
[-1.22474487 1.22474487]
[ 0. 0. ]]
[0.56663395 0.38320023]
[0.32502011 0.25134613]
```
可以看到,特征缩放后的矩阵 X_norm 中,每个特征的值都被缩放到了相同的尺度上,并且平均值向量 mu 和标准差向量 sigma 可以用于还原数据。
阅读全文