A comprehensive, hands-on learning repository documenting the journey from Python and NumPy fundamentals to practical machine learning implementation.
- Overview
- Features
- Project Structure
- Prerequisites & Setup
- Learning Modules
- Roadmap
- Best Practices
- Contributing
- License
Notebook-first workspace for building strong ML foundations with short, focused lessons and runnable examples.
Current focus: Practical ML projects building on statistics knowledge.
- ✅ 43 notebooks — 13 NumPy, 3 exercises, 10 Pandas, 2 Pandas exercises, 7 data viz, 6 statistics, 2 foundation projects
- ✅ Hands-on — notebook-first, progressive difficulty
- ✅ Reproducible — pinned dependencies and setup steps
- Python 3.8+, pip, and Jupyter Notebook/Lab
-
Clone
git clone https://github.com/gyr0byte/ML-Foundations.git "Machine Learning" cd "Machine Learning"
-
Create a virtual environment (recommended)
# Windows python -m venv .venv .venv\Scripts\activate # macOS/Linux python -m venv .venv source .venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Launch Jupyter
jupyter notebook
- Start at
NumPy/1_numpy_arrays.ipynb, finish NumPy, then move to Pandas. - Run cells top-to-bottom and experiment with the examples.
- Move to Data Visualization with
Data Visualization/matplotlib.ipynb. - Continue with
Data Visualization/Distributionplot.ipynb. - Continue with
Data Visualization/Categoricalplot.ipynb. - Continue with
Data Visualization/Matrixplot.ipynb. - Continue with
Data Visualization/Regression.ipynb. - Continue with
Data Visualization/plotlyandcufflinks.ipynb. - Continue with
Data Visualization/IPL_capstone_project.ipynb. - Move to Statistics with
Statistics/1_outliers.ipynb. - Continue with
Statistics/2_Ztest.ipynb,Statistics/3_Ttest.ipynb,Statistics/4_Two_sample_T_test.ipynb,Statistics/5_chi_square_test.ipynb, andStatistics/6_ANNOVA_test.ipynb. - Move to Foundation For ML with
Foundation For ML/1_foundation_project.ipynbandFoundation For ML/2_foundation_project.ipynb.
- 13 core notebooks + 3 exercises in
NumPy/.
- 10 core notebooks in
Pandas/, including IPL analysis, company data, and Titanic survival analysis.
- 2 practice notebooks in
Pandas/pandas_exercise/.
- 7 notebooks in
Data Visualization/covering Matplotlib basics, distribution plots, categorical plots, matrix plots, regression plots, Plotly/Cufflinks, and an IPL capstone. - Assets:
Data Visualization/basic_plot.png,Data Visualization/zoro.jpg.
- 6 notebooks in
Statistics/covering outlier detection and handling, Z-test, T-test, Two-sample T-test, Chi-square test, and ANOVA test hypothesis testing.
- 2 project notebooks in
Foundation For ML/applying statistical and exploratory analysis to real-world datasets.
Machine Learning/
|-- README.md # Project overview and guide
|-- requirements.txt # Python dependencies
|-- LICENSE # License for reuse and distribution
|-- .gitignore # Git ignore patterns
|-- Data Visualization/ # Data visualization modules
| |-- matplotlib.ipynb # Matplotlib basics and plots
| |-- Distributionplot.ipynb # Distribution plots
| |-- Categoricalplot.ipynb # Categorical plots
| |-- Matrixplot.ipynb # Matrix plots
| |-- Regression.ipynb # Regression plots
| |-- plotlyandcufflinks.ipynb # Plotly and Cufflinks
| |-- IPL_capstone_project.ipynb # IPL capstone project
| |-- IPL.csv # IPL dataset
| |-- basic_plot.png # Sample plot image asset
| `-- zoro.jpg # Image asset used in notebooks
|-- NumPy/ # NumPy fundamentals modules
| |-- 1_numpy_arrays.ipynb # Arrays basics
| |-- 2_arrays_types.ipynb # Data types (dtypes)
| |-- 3_dimension_shapes.ipynb # Dimensions & shapes
| |-- 4_indexing_slicing_iteration.ipynb # Advanced indexing
| |-- 5_statistics.ipynb # Statistical operations
| |-- 6_broadcasting_vectorize.ipynb # Broadcasting & vectorization
| |-- 7_boolean_arrays.ipynb # Boolean indexing
| |-- 8_linear_algebra.ipynb # Linear algebra operations
| |-- 9_size_of_objectsInMemory.ipynb # Memory size exploration
| |-- 10_useful_numpy_function.ipynb # Useful NumPy utilities
| |-- 11_numpy_operations.ipynb # NumPy operations overview
| |-- 12_Reshaping_inDepth.ipynb # Reshaping deep dive
| |-- 13_plotting_graphs_numpy.ipynb # Plotting graphs with NumPy
| `-- numpy_exercises/ # Practice notebooks
| |-- general_qns.ipynb # Mixed practice questions
| |-- nepali_cricket_score.ipynb # Practice with real-world data
| `-- valid_sudoku.ipynb # NumPy practice exercise
|-- Pandas/ # Pandas fundamentals modules
| |-- 1_series.ipynb # Series basics
| |-- 2_DataFrames.ipynb # DataFrames basics
| |-- 3_Missing_Data.ipynb # Missing data handling
| |-- 4_Merging_Joining_Concatination.ipynb # Merging and joining
| |-- 5_GroupByAggregation.ipynb # GroupBy and aggregation
| |-- 6_pivot_tables.ipynb # Pivot tables and reshaping
| |-- 7_Operations.ipynb # Pandas operations
| |-- 8_ipl_analysis.ipynb # IPL data analysis
| |-- 9_company.ipynb # Company data analysis
| |-- 10_titanic.ipynb # Titanic survival analysis
| |-- deliveries.csv # IPL deliveries dataset
| |-- ipl_matches.csv # IPL matches dataset
| |-- Fortune_500_Companies.csv # Company dataset
| |-- titanic_data.csv # Titanic passenger dataset
| `-- pandas_exercise/ # Pandas practice notebooks
| |-- Countries.csv # Sample dataset
| |-- Countries.ipynb # Country data practice
| |-- feature_extraction.ipynb # Feature extraction practice
| `-- topanime.csv # Sample dataset
|-- Statistics/ # Statistical methods modules
|-- 1_outliers.ipynb # Outlier detection and handling
|-- 2_Ztest.ipynb # Hypothesis testing: Z-test
|-- 3_Ttest.ipynb # Hypothesis testing: T-test
|-- 4_Two_sample_T_test.ipynb # Hypothesis testing: Two-sample T-test
|-- 5_chi_square_test.ipynb # Hypothesis testing: Chi-square test
`-- 6_ANNOVA_test.ipynb # Hypothesis testing: ANOVA test
`-- Foundation For ML/ # Foundation ML projects
|-- 1_foundation_project.ipynb # Foundation ML project 1
|-- 2_foundation_project.ipynb # Foundation ML project 2
|-- heart.csv # Heart disease dataset
`-- insurance.csv # Insurance dataset
- NumPy fundamentals (13 modules)
- NumPy exercises (3 notebooks)
- Pandas fundamentals (10 notebooks)
- Pandas exercises (2 notebooks)
- Data visualization (7 notebooks)
- Statistical methods (6 notebooks)
- [/] Foundation For ML — Practical ML projects with real datasets (2 notebooks)
- Supervised Learning — Regression and classification with Scikit-Learn
- Unsupervised Learning — Clustering and dimensionality reduction
- Mini-Projects — End-to-end projects combining all skills
- Deep Learning — Introduction to TensorFlow/PyTorch
- Follow PEP 8 and use descriptive names
- Keep cells focused with short markdown context
- Pin dependencies in
requirements.txt
Suggestions and improvements are welcome.
- Fork the repository
- Create a feature branch (
git checkout -b feature/improvement) - Make your changes
- Commit your changes (
git commit -am 'Add improvement') - Push to the branch (
git push origin feature/improvement) - Open a Pull Request
This project is licensed under the MIT License — see the LICENSE file for details.
Happy Learning! 🎓
Last Updated: June 2026