All outcomes
Skills

Implement Machine Learning Algorithms From Scratch (NumPy Only)

10 weeks · 0 milestones

Implement logistic regression, a decision tree, k-means clustering, and a feedforward neural network from scratch using NumPy only — no PyTorch, TensorFlow, or sklearn for the core algorithm logic. Each implementation must be tested on a held-out dataset and benchmarked against the equivalent sklearn implementation on the same data, with documented results explaining any performance differences. The from-scratch implementation is what demonstrates understanding: it is possible to use sklearn without understanding gradient descent; it is not possible to implement gradient descent in NumPy without understanding it. Proof: the implementations reviewed by an ML engineer or CS researcher who provides a different dataset and asks you to predict which of your algorithms will perform best and why — you must reason from your implementation, not just run it.

Milestone map

Milestone map

3 milestones

Implement linear regression with gradient descent and logistic regression with stochastic gradient descent using only NumPy — no scikit-learn or ML library for the core algorithm. Train each on a real dataset, evaluate with appropriate metrics, and compare results to the scikit-learn reference implementation.

Proof required

Submit: a public GitHub repository (or Colab notebook) containing your NumPy implementations with training and evaluation report showing your implementation's metrics vs scikit-learn's on the same dataset; and a 200-word explanation of why gradient descent converges and what the learning rate controls. A data scientist or ML engineer must confirm the implementations are correct and the comparison is valid.

What gets checked

  • Implementations use only NumPy — no scikit-learn or ML frameworks for the core algorithm
  • Comparison to scikit-learn shows metrics within 1% on identical inputs — not just 'similar' results
  • A data scientist or ML engineer has confirmed the implementations are correct

We use analytics to improve Powstik. No ads, ever.