ggauravky 的 100+ 天机器学习学习路线图
ggauravky/100Plus-Days-of-Machine-Learning
GitHub 用户 ggauravky 公开了「100Plus-Days-of-Machine-Learning」仓库,以每天动手实践的方式系统学习机器学习。路线图分 9 个阶段,从机器学习基础、NumPy 与 Pandas 数据处理、EDA、特征工程,到回归、分类、集成学习、无监督学习与降维,最终落到端到端 ML 项目。目前处于第一阶段「机器学习基础」,后续阶段均标注为即将开始。
🧠 About This Journey
I am undertaking this 100+ Days of Machine Learning challenge to build deep, first-principles intuition and practical engineering skills across the machine learning spectrum.
Rather than skimming through high-level tutorials or treating machine learning models as black boxes, this repository serves as my open laboratory to:
- Understand the mathematical foundations and geometric intuition behind every algorithm.
- Write clean, idiomatic Python code for data preprocessing, modeling, and validation.
- Work with messy, real-world datasets and extract actionable insights through rigorous EDA.
- Experiment with hyperparameter behavior, loss curves, and evaluation trade-offs.
- Build reproducible machine learning pipelines and end-to-end projects.
Every day represents deliberate practice: exploring concepts, coding implementations, documenting takeaways, and learning from debugging edge cases.
🎯 Goals
- Build Strong Foundations — Master statistical learning theory, optimization techniques, and core ML taxonomy.
- Develop Mathematical Intuition — Understand linear algebra, calculus, and probability concepts powering ML algorithms.
- Master Data Preprocessing & Feature Engineering — Handle missing data, outliers, encodings, transformations, and feature selection effectively.
- Perform In-Depth EDA — Uncover patterns, distributions, anomalies, and correlations with visualization tools.
- Implement Core Algorithms — Understand and code regression, classification, clustering, and ensemble methods.
- Rigorous Evaluation & Validation — Master cross-validation, metric selection, bias-variance trade-offs, and diagnostic tools.
- Build End-to-End Projects — Assemble standalone experiments into structured, reproducible ML pipelines.
- Cultivate Daily Engineering Discipline — Maintain clean code, structured documentation, and an active learning log.
🗺️ Machine Learning Roadmap
This roadmap outlines the systematic path I am following across this 100+ day journey.
Foundations ➔ Data Manipulation ➔ EDA ➔ Feature Engineering ➔ Regression ➔ Classification ➔ Ensembles ➔ Unsupervised ➔ Model Evaluation ➔ End-to-End ML ➔ Advanced Frontiers
Click to expand / collapse full roadmap phases
Phase 1 — Machine Learning Foundations 🔄 Active
- Introduction to Machine Learning: Definition, History & Applications
- Artificial Intelligence vs. Machine Learning vs. Deep Learning
- Taxonomy of ML: Supervised, Unsupervised, Semi-Supervised, and Reinforcement Learning
- Learning Paradigms: Batch vs. Online Learning, Instance-Based vs. Model-Based Learning
- Core Challenges: Underfitting, Overfitting, Data Quality, and Concept Drift
- The Machine Learning Lifecycle: From Problem Framing to Deployment
Phase 2 — Working With Data & Scientific Python ⏳ Upcoming
- NumPy Essentials: Multidimensional Arrays, Indexing, Slicing, and Vectorization
- Broadcasting Rules, Matrix Operations, and Linear Algebra Routines
- Pandas Fundamentals: Series, DataFrames, Indexing, and Filtering
- Data Ingestion: CSV, JSON, Parquet, and SQL Sources
- Data Cleaning: Missing Value Strategies, Duplicate Handling, and Data Type Conversions
- Data Transformation: Grouping, Merging, Pivoting, and Aggregation
Phase 3 — Exploratory Data Analysis (EDA) ⏳ Upcoming
- Univariate Analysis: Frequency Distributions, Histograms, Box Plots, and KDE
- Bivariate & Multivariate Analysis: Scatter Plots, Heatmaps, and Pair Plots
- Statistical Measures: Central Tendency, Dispersion, Skewness, and Kurtosis
- Correlation Analysis: Pearson, Spearman, and Kendall Rank Correlations
- Outlier Detection: IQR Rule, Z-Score Method, and Isolation Mechanisms
- Visual Storytelling with Matplotlib and Seaborn
Phase 4 — Feature Engineering & Preprocessing ⏳ Upcoming
- Handling Missing Values: Simple vs. Iterative/KNN Imputation
- Categorical Encoding: One-Hot, Ordinal, Target, and Frequency Encoding
- Feature Scaling: Min-Max Normalization, Standardization (Z-score), Robust Scaling
- Mathematical Transformations: Log, Box-Cox, and Yeo-Johnson Transforms
- Outlier Handling: Trimming, Capping (Winsorization), and Binning
- Feature Construction & Interaction Terms
- Feature Selection: Filter, Wrapper, and Embedded Methods
Phase 5 — Regression Analysis ⏳ Upcoming
- Simple Linear Regression: Formulation, Cost Function (MSE), and Gradient Descent
- Closed-Form Solution (Ordinary Least Squares) vs. Optimization
- Multiple Linear Regression & Collinearity Detection (VIF)
- Polynomial Regression & Non-linear Curve Fitting
- Regression Evaluation Metrics: MAE, MSE, RMSE, R², Adjusted R²
- Regularization Techniques: Ridge (L2), Lasso (L1), and Elastic Net
Phase 6 — Classification Algorithms ⏳ Upcoming
- Logistic Regression: Sigmoid Function, Log-Loss, and Decision Boundaries
- Binary vs. Multiclass Classification (One-vs-Rest, Softmax)
- K-Nearest Neighbors (KNN): Distance Metrics, Curse of Dimensionality, Choosing $K$
- Decision Trees: Entropy, Information Gain, Gini Impurity, and Pruning
- Support Vector Machines (SVM): Hyperplanes, Margins, and Kernel Trick (RBF, Polynomial)
- Naive Bayes: Bayes' Theorem, Conditional Independence, Gaussian / Multinomial / Bernoulli
Phase 7 — Ensemble Learning ⏳ Upcoming
- Ensemble Principles: Wisdom of the Crowd, Bias-Variance Decomposition
- Voting Classifiers: Hard vs. Soft Voting
- Bagging & Bootstrap Aggregation: Out-of-Bag (OOB) Evaluation
- Random Forests: Feature Subsampling, Tree Ensembles, and Feature Importances
- Boosting Principles: Sequential Correction of Errors
- AdaBoost: Sample Weight Updates and Weak Learners
- Gradient Boosting & Introduction to XGBoost Concepts
Phase 8 — Unsupervised Learning & Dimensionality Reduction ⏳ Upcoming
- Clustering Overview: Hard vs. Soft Clustering
- K-Means Clustering: Algorithm Mechanics, Inertia, and The Elbow Method
- Hierarchical Clustering: Agglomerative vs. Divisive, Dendrograms, and Linkage
- DBSCAN: Density-Based Clustering, Core Points, and Noise Detection
- Dimensionality Reduction: The Curse of Dimensionality
- Principal Component Analysis (PCA): Eigenvectors, Variance Retention, and Projections
Phase 9 — Model Evaluation, Validation & Tuning ⏳ Upcoming
- Confusion Matrix Breakdown: TP, FP, TN, FN
- Classification Metrics: Accuracy, Precision, Recall, Specificity, F1-Score, and Macro/Weighted Averages
- ROC Curves, Precision-Recall Curves, and AUC Scores
- Cross-Validation Strategies: K-Fold, Stratified K-Fold, and Time-Series Splits
- Bias vs. Variance Diagnostics and Learning Curves
- Hyperparameter Optimization: Grid Search, Randomized Search, and Bayesian Search
Phase 10 — Practical Machine Learning & Pipelines ⏳ Upcoming
- Scikit-Learn
PipelineandColumnTransformerArchitecture - Preventing Data Leakage in Preprocessing Workflows
- Experiment Tracking and Metric Logging
- Model Serialization:
pickle,joblib, and Model Versioning - Building Inference Scripts for New Data
- End-to-End Capstone Projects
Phase 11 — Future Directions ⏳ Upcoming
- Deep Learning Foundations & Neural Networks (Perceptron, Multi-Layer Perceptron)
- Backpropagation & Modern Optimizers (Adam, RMSProp)
- Computer Vision & NLP Fundamentals
- MLOps, CI/CD for Machine Learning, and Production Deployment
📅 100+ Days Progress
Current Progress: Day 001 / 100+
[▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 1% Complete
| Icon | Meaning |
|---|---|
| 🔄 | In Progress |
| ✅ | Completed |
| ⏳ | Upcoming |
| Day | Topic | Key Focus & Concepts | Notes / Code | Status |
|---|---|---|---|---|
001 |
Machine Learning Foundations | Introduction to ML, AI vs ML vs DL, Supervised vs Unsupervised, ML Lifecycle | 001 Notes & Code | 🔄 In Progress |
002 |
Dataset Anatomy & Tabular Data Ingestion | Data structures, feature types, loading formats (CSV, Parquet, JSON) | — | ⏳ Upcoming |
003 |
NumPy for Machine Learning | N-D arrays, matrix arithmetic, vectorization, linear algebra routines | — | ⏳ Upcoming |
004 |
Pandas for Data Manipulation | Data filtering, transformation, grouping, merging, and reshaping | — | ⏳ Upcoming |
005 |
Data Cleaning & Missing Value Imputation | MCAR/MAR/MNAR types, mean/median/mode, arbitrary and KNN imputation | — | ⏳ Upcoming |
006 |
Categorical Feature Encoding | Nominal vs. Ordinal variables, One-Hot Encoding, Ordinal Encoding, Target Encoding | — | ⏳ Upcoming |
007 |
Feature Scaling & Normalization | Standardization, MinMax Scaling, Robust Scaling, and impact on algorithms | — | ⏳ Upcoming |
008 |
Univariate Exploratory Data Analysis | Continuous vs discrete variable distributions, skewness, outliers | — | ⏳ Upcoming |
009 |
Bivariate & Multivariate EDA | Correlation matrices, scatter plots, pairplots, contingency tables | — | ⏳ Upcoming |
010 |
Mathematical Transformations | Logarithmic, Box-Cox, Yeo-Johnson transforms for normal distributions | — | ⏳ Upcoming |
... |
Remaining days will be logged dynamically as the journey progresses. | — | — | ⏳ Upcoming |
📂 Repository Structure
The repository is organized into dedicated daily topic folders, shared datasets, and capstone project modules:
100Plus-Days-of-Machine-Learning/
│
├── 001 What is Machine Learning/
│ ├── ml.md # Concept summary, formulas & core notes
│ ├── notebook.ipynb # Interactive code, experiments & visualizations
│ └── script.py # (Optional) Standalone Python implementation
│
├── 002 [Topic Name]/
│ └── ...
│
├── datasets/ # Sample & benchmark datasets used across days
├── projects/ # Comprehensive end-to-end Machine Learning projects
│ └── README.md # Project index and architecture summaries
│
├── requirements.txt # Python dependencies and environment configuration
└── README.md # Repository roadmap, tracker & overview
📁 Daily Folder Architecture
Each daily module is structured to document learning comprehensively:
XXX-Topic-Name/
├── notes.md / README.md # In-depth theory, mathematical intuition & summary notes
├── notebook.ipynb # Step-by-step code implementation & data experimentation
└── assets/ # (Optional) Plots, architecture diagrams & visual assets
📝 What Each Day Documents
To ensure genuine depth and retention, each day's documentation covers six essential pillars:
- Concept & Theory — What the concept is, its real-world purpose, and where it fits in the ML workflow.
- Intuition & Geometry — How the algorithm behaves geometrically and why it makes specific decisions.
- Mathematical Formulation — Key equations, cost functions, loss surfaces, and optimization routines.
- Code Implementation — Hands-on Python implementation using Scikit-Learn or built from scratch.
- Experiments & Observations — Testing hyperparameter variations, edge cases, and behavior on diverse datasets.
- Key Takeaways & Debugging Lessons — Important insights, mistakes made, assumptions challenged, and debugging takeaways.
🛠️ Tech Stack
| Domain | Technologies & Libraries |
|---|---|
| Language | |
| Data Processing & Numerics | |
| Data Visualization | |
| Machine Learning | |
| Environment & Tools | |
| Version Control |
🔄 Machine Learning Workflow
This journey progressively explores and implements every stage of the standard industry ML workflow:
┌─────────────────────────┐
│ Problem Formulation │ ──► Define target variable, metric & ML framing
└────────────┬────────────┘
▼
┌─────────────────────────┐
│ Data Ingestion │ ──► Acquire, validate & explore schema
└────────────┬────────────┘
▼
┌─────────────────────────┐
│ Exploratory Analysis │ ──► Identify distributions, correlations & anomalies
└────────────┬────────────┘
▼
┌─────────────────────────┐
│ Feature Engineering │ ──► Imputation, scaling, encoding, selection & extraction
└────────────┬────────────┘
▼
┌─────────────────────────┐
│ Model Training & Eval │ ──► Model selection, cross-validation & diagnostic curves
└────────────┬────────────┘
▼
┌─────────────────────────┐
│ Hyperparameter Tuning │ ──► Optimization via Grid/Random/Bayesian Search
└────────────┬────────────┘
▼
┌─────────────────────────┐
│ Pipeline & Serialization│ ──► Construct leak-free Scikit-Learn pipelines & export
└─────────────────────────┘
🚀 Projects
As foundational concepts are mastered, they will be synthesized into standalone, end-to-end machine learning projects located in the projects/ directory.
| # | Project Name | Core Focus & Techniques | Dataset | Status |
|---|---|---|---|---|
01 |
End-to-End Regression Pipeline | Advanced EDA, Transformations, Regularized Regression | TBD | ⏳ Planned |
02 |
Customer Churn Classification | Imbalanced Data Handling, Tree Ensembles, ROC-AUC Optimization | TBD | ⏳ Planned |
03 |
Customer Segmentation System | PCA, K-Means Clustering, RFM Feature Engineering | TBD | ⏳ Planned |
04 |
Ensemble Predictive Model | Gradient Boosting, Hyperparameter Tuning, Stacking | TBD | ⏳ Planned |
📈 What I Am Building Toward
Machine Learning Fundamentals
│
▼
Data Manipulation & Preprocessing Mastery
│
▼
Classical & Statistical ML Algorithms
│
▼
Model Diagnostics, Validation & Tuning
│
▼
End-to-End Capstone Machine Learning Projects
│
▼
Deep Learning & Production ML Engineering Foundations
💡 Learning Principles
- Understand Before Memorizing — Understand why an algorithm behaves the way it does, its mathematical assumptions, and its failure modes before relying on standard library syntax.
- Implement, Don't Just Watch — Active coding and building intuition through experimentation beats passive consumption.
- Experiment with Data — Shift parameters, introduce noisy features, distort distributions, and observe how model behavior changes.
- Document with Rigor — Writing concise, clear documentation solidifies understanding and creates a permanent technical reference.
- Progress Over Perfection — Consistent daily progress and continuous iteration compound into strong long-term engineering depth.
🎯 The "100+ Days" Philosophy
This challenge is about depth of understanding, not an artificial race against time.
- A "Day" represents a unit of focused, meaningful progress.
- Complex concepts (such as Regularization, Gradient Boosting, or Dimensionality Reduction) may span multiple days of intense study and experimentation.
- The
+signifies that learning is continuous: this repository will remain an active, evolving reference well beyond Day 100 as I explore production ML, Deep Learning, and real-world system design.
🤝 Connect With Me
Questions, suggestions, or discussions about Machine Learning are always welcome!
Learning one concept at a time. Building one step at a time. 🚀
Made with ❤️ by Gaurav Kumar Yadav
来源:GitHub · github.com