INPUT: X - (array) 特征数据数组 OUTPUT: X - (array) 规范化处理后的特征数据数组
(X)
| 37 | |
| 38 | #定义规范化函数,对每一列特征进行规范化处理,使其成为期望为0方差为1的标准分布 |
| 39 | def Normalize(X): |
| 40 | ''' |
| 41 | INPUT: |
| 42 | X - (array) 特征数据数组 |
| 43 | |
| 44 | OUTPUT: |
| 45 | X - (array) 规范化处理后的特征数据数组 |
| 46 | |
| 47 | ''' |
| 48 | m, n = X.shape |
| 49 | for i in range(m): |
| 50 | E_xi = np.mean(X[i]) #第i列特征的期望 |
| 51 | Var_xi = np.var(X[i], ddof=1) #第i列特征的方差 |
| 52 | for j in range(n): |
| 53 | X[i][j] = (X[i][j] - E_xi) / np.sqrt(Var_xi) #对第i列特征的第j条数据进行规范化处理 |
| 54 | return X |
| 55 | |
| 56 | |
| 57 | #定义奇异值分解函数,计算V矩阵和特征值 |