[what] Numpy (Numerical Python) and NDArray

 


NumPy

NumPy is an acronym for Numerical Python. 

It is a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays (Wikipedia - NumPy ).

The following information about NumPy is extracted from NumPy: the absolute basics for beginners.

Advantage of NumPy

  • NumPy arrays are faster and more compact than Python lists; array consumes less memory and is convenient to use. 
  • NumPy uses much less memory to store data and it provides a mechanism of specifying the data types; this allows the code to be optimized even further.


NDArray

Numpy NDArray is a shorthand for “N-dimensional array.” i.e. an array with any number of dimensions. 

The following terms are used to identify the dimensions of the array:

  1. Vector = array with a single dimension (there’s no difference between row and column vectors).
  2. Matrices = array with two dimensions e.g. 3 row x 4 columns or referred to as "3 by 4" array.
  3. Tensor = 3 or higher dimensions. 


What are the attributes of an array?

  • An array is usually a fixed-size container of items of the same type and size. 
  • The number of dimensions and items in an array is defined by its shape. 
  • The shape of an array is a tuple of non-negative integers that specify the sizes of each dimension.

import numpy as np

array_example = np.array([[[0, 1, 2, 3],
                           [4, 5, 6, 7]],

                          [[0, 1, 2, 3],
                           [4, 5, 6, 7]],

                          [[0 ,1 ,2, 3],
                           [4, 5, 6, 7]]])
                           
# dimension = bracket levels 
print("NumPy Array Dimension:{}".format(array_example.ndim))
# NumPy Array Dimension:3
# shape = no of item per bracket level
print("NumPy Array Shape:{}".format(str(array_example.shape)))
# NumPy Array Shape:(3, 2, 4)
# size = total items
print("NumPy Array Size:{}".format(array_example.size))
# NumPy Array Size:24


Practical uses of NumPy

One of the examples of practical use of NumPy is calculating Mean Square Error in Machine Learning.


# define mean square error function
# accept regular lists of values 
# convert into np array
# find their differences
# and square the value
def mse(actual, pred): 
    actual, predic = np.array(actual), np.array(predic)
    print("Actual:")
    print(actual)
    print("Predicted:")
    print(predic)
    print("Mean Square Error:")
    print( (((predic-actual))**2).mean() )
    print("====================")
    return  
    
# define actual and predicted value lists
actual = [12, 13, 14, 15, 15, 22, 27]
predic = [11, 13, 14, 14, 15, 16, 18]

mse(actual, predic)
# 17.0  



Read further

Post a Comment

0 Comments