
Understand the NumPy stack in Python, including NumPy arrays, map plot lib, and pandas, to visualize data and build the prerequisites for machine learning.
Discover free course resources, from Google Colab environments and local Python setups with Anaconda to virtual environments, plus a forum for course order questions and hands-on coding with notebooks.
Introduce NumPy section and core array operations: dot product, matrix multiplication, and elementwise operations, and explain how these linear algebra tools power machine learning, including regression, neural networks, and clustering.
Compare Python lists to NumPy arrays, showing arrays enable element-wise operations and broadcasting for vector addition, while lists rely on concatenation and repetition.
Compute dot products in numpy via manual loops and elementwise multiplication, then sum results. Explore np.dot and the @ operator, and derive vector norms and angles with arccos.
a speed test compares numpy vs python lists for dot product, timing 100,000 iterations to show numpy's speed; encourages avoiding for loops and using vectorized dot operations.
Explore matrices in NumPy by converting lists to arrays, indexing elements, and transposing. Perform matrix multiplication, elementwise operations, determinants, inverses, diagonals, and eigenvalues/eigenvectors.
Solve linear systems efficiently with NumPy's linalg.solve instead of inverting the matrix; illustrated by a two-equation example solving for children and adults (1500 and 700).
Generate data with numpy by creating zeros, ones, and an identity matrix, then sample random arrays. Explore uniform and normal distributions, and compute mean, variance, and covariance for synthetic data.
Practice a matrix multiplication speed test using NumPy, and implement matrix multiplication on your own using lists as a bonus, then observe how timing grows with input size.
learn how to visualize data with matplotlib for machine learning, covering line charts, scatter plots, histograms, and image plots, and discuss data representation and dimensionality reduction.
Create a chart by importing libraries, generating x with numpy linspace from 0 to 20, plotting y = sin(x) + 0.2x with plt.plot, and labeling axes; use plt.show in notebooks.
Learn to create 2d scatter plots from random normal data (100 observations, 2 dimensions), map X[:,0] and X[:,1] to axes, and color points by class labels for classification or clustering.
Use histograms to visualize data distributions. Plot ten thousand standard normal points with adjustable bins to reveal a bell curve centered at zero, plus a 0–1 uniform sample.
Plot images from NumPy arrays by loading with Pillow, converting a 512×512×3 RGB image to grayscale via channel averaging, and displaying with imshow using a grayscale cmap.
Generate and plot the generalized xor dataset with a scatterplot in matplotlib, using four quadrants between -1 and 1 to illustrate exclusive or behavior.
Explore the Pandas section, introducing loading and writing data, data frames versus NumPy arrays, and core operations like selecting rows and columns, with the apply function for efficient row-wise tasks.
Learn to load tabular data with pandas, reading csv or tsv files from local or URL sources, and inspect with head, tail, and info to understand structure.
Learn to select rows and columns from a data frame using square bracket notation, and understand iloc versus loc for index and label-based access. Save with to_csv.
Learn how to use the apply function to perform operations on each row or column of a data frame, avoiding explicit for loops, with a year extraction example.
Explore plotting with pandas using series and data frames to generate histograms, line charts, box plots, scatter matrices. Learn to adjust alpha and figure size and interpret distributions, correlations.
practice a pandas exercise to build a dataframe from donor dataset, derive quadratic features X1 squared, X2 squared, and X1 times X2, and export to csv without headers or index.
Explore SciPy's enhancements to NumPy, enabling multivariate normal sampling and pdf and cdf computations, and apply convolution across deep learning, computer vision, signal processing, and statistics.
We compute the pdf, cdf, and log pdf of the standard normal using norm from scipy.stats, generate x values from -6 to 6, and plot the results.
Apply two-dimensional convolution to a grayscale image to create a gaussian blur. Construct a two-dimensional gaussian filter and compare the original and blurred images side by side.
Apply Sobel filters to a grayscale image to perform edge detection. Convolve with three-by-three Sobel kernels to obtain gx and gy, then compute the gradient magnitude as sqrt(gx^2+gy^2) element-wise.
Welcome! This is Deep Learning, Machine Learning, and Data Science Prerequisites: The Numpy Stack in Python (V2).
The reason I made this course is because there is a huge gap for many students between machine learning "theory" and writing actual code.
As I've always said: "If you can't implement it, then you don't understand it".
Without basic knowledge of data manipulation, vectors, and matrices, students are not able to put their great ideas into working form, on a computer.
This course closes that gap by teaching you all the basic operations you need for implementing machine learning and deep learning algorithms.
The goal is that, after you take this course, you will learn about machine learning algorithms, and implement those algorithms in code using the tools and techniques you learned in this course.
Suggested Prerequisites:
linear algebra
probability
Python programming