wzyonggege/statistical-learning-method

《统计学习方法》笔记-基于Python算法实现

What it solves

This project provides a clear, educational bridge between the mathematical theory of classic statistical learning methods and their practical implementation. It helps learners understand how algorithms work by building them from scratch in Python rather than relying on library shortcuts.

How it works

The repository contains nine Jupyter notebooks, each dedicated to a fundamental machine learning algorithm (such as Decision Trees, SVM, or Naive Bayes). Each notebook explains the underlying mathematics and provides a hand-written Python implementation. While the project uses scikit-learn for comparison purposes, the core logic is manually coded to ensure the educational focus remains on the algorithm's mechanics.

Who it’s for

This is designed for students, researchers, or developers who want to move beyond using machine learning as a "black box" and gain a deep, foundational understanding of how these classic models are built and optimized.

Highlights

  • Contains nine comprehensive notebooks covering core statistical learning topics.
  • Prioritizes hand-written implementations to demonstrate mathematical concepts.
  • Fully updated for modern Python (3.10–3.13) with reproducible dependency management using uv.
  • Includes automated validation and testing to ensure all notebooks remain functional and accurate.
  • Preserves original educational content while providing a modern, stable runtime environment.

Related

  • Project
  • Project
  • Project
  • Project