This repository is a practical, notebook-first learning resource for machine learning and data science.
It is organized around two goals:
- Teach the core tools and workflows used in everyday ML work.
- Walk through complete end-to-end projects so you can see those tools applied on real problems.
The notebooks are written to be followed in order, but each section can also be used on its own as a reference.
The repository includes tutorial-friendly notebooks for:
- Pandas
- NumPy
- Matplotlib
- Scikit-learn
- TensorFlow-based deep learning workflows
It also includes three complete projects:
- Heart Disease Predictor
- Bulldozer Price Prediction
- Dog Breed Classification
In addition, there is a shared data/ folder with reusable datasets and project assets.
Machine-Learning-Data-Science/
βββ pandas/ # Pandas tutorials, exercises, and solutions
βββ numpy/ # NumPy tutorials, exercises, and solutions
βββ matplotlib/ # Matplotlib tutorials, exercises, and solutions
βββ scikitlearn/ # Scikit-learn tutorials, workflows, and exercises
βββ Heart-Disease-predictor/ # Binary classification project notebook
βββ Bulldozer-Price-prediction/ # Regression project notebook
βββ Dog-Breed-Classification/ # TensorFlow dog vision project and data guide
βββ data/ # Shared datasets and exported CSV files
βββ images/ # Repo images used in the documentation and notebooks
βββ README.md
If you are using this repository as a structured study plan, this order works well:
- Start with the fundamentals in
numpy/. - Move into data wrangling with
pandas/. - Learn visual exploration in
matplotlib/. - Practice classical machine learning in
scikitlearn/. - Apply everything in the three end-to-end projects.
That path mirrors how the notebooks build from foundational skills to real model-building workflows.
Location: Heart-Disease-predictor/end_to_end_heart_disease_classification.ipynb
Dedicated Repository: Heart-Disease-Predictor
This project shows a full binary classification workflow for predicting heart disease from structured tabular data. It is a good example of how to turn a dataset into a trainable ML problem, evaluate the results, and reason about model performance.
Location: Bulldozer-Price-prediction/
This project focuses on regression with tabular data. It is useful for understanding feature engineering, handling dates and categorical values, and building a model that predicts a continuous target.
Location: Dog-Breed-Classification/end-to-end-dog-vision.ipynb
Dedicated Repository: dog-vision-classification
This is the most advanced project in the repository. It walks through a TensorFlow-powered computer vision workflow using the Stanford Dogs dataset, model training, evaluation, and custom image prediction.
The data collection steps for that notebook are documented here:
Dog-Breed-Classification/data/how_to_get_data.md
The repository includes a shared data/ directory for tabular datasets and exported CSV files used across the notebooks.
The dog vision project also keeps its own data instructions because it needs a specific download and extraction flow. If you want to run that project, start with the data guide above before opening the notebook.
The notebooks are designed to run in Jupyter Lab or Jupyter Notebook. A simple local setup looks like this:
git clone https://github.com/mohsinansari0705/Machine-Learning-Data-Science.git
cd Machine-Learning-Data-Science
python -m venv .venv
.venv\Scripts\activate
pip install jupyter numpy pandas matplotlib scikit-learn tensorflow seaborn scipy pillowIf you prefer Conda, create an environment first and install the same core packages there.
The dog vision notebook was written with Google Colab in mind, but it can also be adapted for local use. The key requirement is to make sure the Stanford Dogs archives are downloaded, extracted, and available in the working directory before you run the notebook.
Contributions are welcome.
- Fork the repository.
- Create a new branch for your change.
- Make your edits and commit them.
- Push the branch to your fork.
- Open a pull request with a clear description of what changed.
This repository is licensed under the MIT License. See LICENSE for details.
Happy learning.