Skip to content
truthxify
← Journal

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