Phase 2 — Classical ML
June 3, 2026
Continue the course 3 of the Machine Learning Specialization(Recommender Systems)
What I Did
Implemented collaborative filtering from scratch using Numpy
Implemented collaborative and content-based filtering using Tensorflow
What I Learned
Principal component analysis(PCA) allows us to take data with a lot of features say hundreds or thousands of features and reduce it to very small number of features say two or five features.
It is commonly used to visualize data that might otherwise not be visualizable because it is in higher dimensions
PCA used to be widely used in the past for data compression and speeding up supervised learning but now its out of touch because there are now better compression algorithms and modern algorithms now handle high dimensional data fine for supervised learning
from sklearn.decomposition import PCA
# Step 1: optionally normalize features first
# (StandardScaler if features have very different scales)
# Step 2: fit
pca = PCA(n_components=2)
pca.fit(X)
# Step 3: how much variance does each component explain?
pca.explained_variance_ratio_
# e.g. array([0.992, 0.008]) means PC1 explains 99.2% of variance
# Step 4: project to lower dimension
X_reduced = pca.transform(X)
# Step 5: reconstruct back to original space (lossy)
X_reconstructed = pca.inverse_transform(X_reduced)Bugs & Blockers
N/A
Concepts That Need More Time
Was able to explore the concepts that need more time yesterday but I will still need to do a somehow complex project to get a good feel of the usage of these tools
Tomorrow
Continue the course 3 of the Machine Learning Specialization(Reinforcement Learning)
Wins
Implemented collaborative filtering from scratch using Numpy