跳到正文
GitHub·· 5 天前AI 评分8

ggauravky 的 100+ 天机器学习学习路线图

ggauravky/100Plus-Days-of-Machine-Learning

AI 导读

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 Pipeline and ColumnTransformer Architecture
  • 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:

  1. Concept & Theory — What the concept is, its real-world purpose, and where it fits in the ML workflow.
  2. Intuition & Geometry — How the algorithm behaves geometrically and why it makes specific decisions.
  3. Mathematical Formulation — Key equations, cost functions, loss surfaces, and optimization routines.
  4. Code Implementation — Hands-on Python implementation using Scikit-Learn or built from scratch.
  5. Experiments & Observations — Testing hyperparameter variations, edge cases, and behavior on diverse datasets.
  6. Key Takeaways & Debugging Lessons — Important insights, mistakes made, assumptions challenged, and debugging takeaways.

🛠️ Tech Stack

Domain Technologies & Libraries
Language Python
Data Processing & Numerics NumPy Pandas SciPy
Data Visualization Matplotlib Seaborn
Machine Learning Scikit-Learn
Environment & Tools Jupyter VS Code
Version Control Git GitHub

🔄 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!

GitHub LinkedIn Portfolio


Learning one concept at a time. Building one step at a time. 🚀

Made with ❤️ by Gaurav Kumar Yadav

来源:GitHub · github.com