All of the Linear Algebra Operations that You Need to Use
in NumPy for Machine Learning.
The Python numerical computation library called NumPy provides many linear algebra functions that may be useful as a machine learning practitioner.
In this tutorial, you will discover the key functions for working with vectors and matrices that you may find useful as a machine learning practitioner.
This is a cheat sheet and all examples are short and assume you are familiar with the operation being performed.
You may want to bookmark this page for future reference.
This tutorial is divided into 7 parts; they are:
- Types of Matrices
- Matrix Operations
- Matrix Factorization
Need help with Linear Algebra for Machine Learning?
Take my free 7-day email crash course now (with sample code).
Click to sign-up and also get a free PDF Ebook version of the course.
There are many ways to create NumPy arrays.
from numpy import array A = array([[1,2,3],[1,2,3],[1,2,3]])
from numpy import empty A = empty([3,3])
from numpy import zeros A = zeros([3,5])
from numpy import ones A = ones([5, 5])
A vector is a list or column of scalars.
c = a + b
c = a - b
c = a * b
c = a / b
Vector Dot Product
c = a.dot(b)
c = a * 2.2
from numpy.linalg import norm l2 = norm(v)
A matrix is a two-dimensional array of scalars.
C = A + B
C = A - B
Matrix Multiplication (Hadamard Product)
C = A * B
C = A / B
Matrix-Matrix Multiplication (Dot Product)
C = A.dot(B)
Matrix-Vector Multiplication (Dot Product)
C = A.dot(b)
C = A.dot(2.2)
4. Types of Matrices
Different types of matrices are often used as elements in broader calculations.
# lower from numpy import tril lower = tril(M) # upper from numpy import triu upper = triu(M)
from numpy import diag d = diag(M)
from numpy import identity I = identity(3)
5. Matrix Operations
Matrix operations are often used as elements in broader calculations.
B = A.T
from numpy.linalg import inv B = inv(A)
from numpy import trace B = trace(A)
from numpy.linalg import det B = det(A)
from numpy.linalg import matrix_rank r = matrix_rank(A)
6. Matrix Factorization
Matrix factorization, or matrix decomposition, breaks a matrix down into its constituent parts to make other operations simpler and more numerically stable.
from scipy.linalg import lu P, L, U = lu(A)
from numpy.linalg import qr Q, R = qr(A, 'complete')
from numpy.linalg import eig values, vectors = eig(A)
from scipy.linalg import svd U, s, V = svd(A)
Statistics summarize the contents of vectors or matrices and are often used as components in broader operations.
from numpy import mean result = mean(v)
from numpy import var result = var(v, ddof=1)
from numpy import std result = std(v, ddof=1)
from numpy import cov sigma = cov(v1, v2)
Linear Least Squares
from numpy.linalg import lstsq b = lstsq(X, y)
This section provides more resources on the topic if you are looking to go deeper.
Other Cheat Sheets
- Python For Data Science Cheat Sheet, DataCamp (PDF)
- Linear algebra explained in four pages (PDF)
- Linear Algebra Cheat Sheet
In this tutorial, you discovered the key functions for linear algebra that you may find useful as a machine learning practitioner.
Are there other key linear algebra functions that you use or know of?
Let me know in the comments below.
Do you have any questions?
Ask your questions in the comments below and I will do my best to answer.