Normalizing the data
u=np.mean(X,axis=0)
std=np.std(X,axis=0)
print(u)
print(std)
for i in range(X.shape[1]):
X[:,i]=( X[:,i]-u[i] )/ (std[i])
u_new=np.mean(X,axis=0)
std_new=np.std(X,axis=0)
print(u_new)
print(std_new)
The mean gets distorted very badly away from 0.
The standard deviation becomes exact 1