In machine learning, Normalizing is a must. It is a technique in data preprocessing to change the value of the numerical columns in the dataset to a common scale. Its mostly require when the features of the datasets have different ranges. In this entire tutorial, I will show you how to normalize a NumPy array.
In order to get a complete understanding of this concept execute the steps that I have defined here. I am doing all the work on Pycharm IDE.
The most important step is to import all the required libraries before continuing the execution.
import numpy as np
from sklearn.preprocessing import normalize
import transformations as tr
Here for the demonstration purpose, I am creating a random NumPy array. You can get different values of the array in your computer.
array = np.random.rand(50) * 5
To use this method you have to divide the NumPy array with the numpy.linalg.norm() method. It returns the norm of the matrix form. You can read more about the Numpy norm.
normalize1 = array / np.linalg.norm(array)
print(normalize1)
The second method to normalize a NumPy array is through the sci-kit python module. Here you have to import normalize object from the sklearn. preprocessing and pass your array as an argument to it. I have already imported it step 1.
normalize2 = normalize(array[:, np.newaxis], axis=0).ravel()
print(normalize2)
Here np.newaxis is used to increase the dimension of the array. That is if the array is 1D then it will make it to 2D and so on.
And also passing axis = 0 to do all the tasks along rows. The ravel() method returns the contiguous flattened array. You can read more about it on numpy ravel official documentation.
The third method to normalize a NumPy array is using transformations. You can easily transform the NumPy array to the unit vector using the unit_vector() method. Use the code below.
normalize3 = tr.unit_vector(array)
print(normalize3)
These are the best method to normalize a NumPy array. I will keep adding the new methods I will find. If you have any other methods to normalize a NumPy array then you can contact us to review and add here.