Skip to content

Taaaioo/End-to-End-Machine-Learning

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

End-to-End Machine Learning

Mohamed Magdy Zahran
Machine Learning Engineer | AI & Data Science Specialist

πŸ“ Minufiya, Egypt | πŸ“ž +20 1044 182067
πŸ“§ mohamedzahran3008@gmail.com
πŸ’Ό LinkedIn | πŸ’» GitHub


A comprehensive repository documenting my journey through machine learning, from Python fundamentals to deep learning projects. This repository contains hands-on projects, implementations, and notebooks covering the complete machine learning pipeline.

πŸ“š Repository Structure

00-Python

Foundation Python programming concepts and mini-projects.

Core Concepts

  • Python Basics
  • Functions
  • Object-Oriented Programming (OOP)

Projects

  • Number Guessing Game - Interactive number guessing game with random number generation
  • Hangman Game - Classic word-guessing game implementation
  • Rock Paper Scissors Game - Player vs computer game with scoring
  • Live Weather Desktop Notifications - Real-time weather updates using APIs
  • ToDo GUI Application - Task management application with graphical interface
  • 2048 Game - Implementation of the popular 2048 puzzle game

02-Preprocessing & Visualization

Data manipulation and visualization libraries essential for data science.

Libraries Covered

  • NumPy - Numerical computing and array operations
  • Pandas - Data manipulation and analysis
    • Datasets: employees, FIFA, homelessness, housing, IMDB movies
  • Visualization Tools
    • Matplotlib - Basic plotting and customization
    • Seaborn - Statistical data visualization
    • Plotly - Interactive visualizations

03-Machine Learning

Supervised learning projects with end-to-end implementations.

Classification Projects

  1. Breast Cancer Wisconsin Diagnosis

    • Binary classification for cancer diagnosis
    • Logistic Regression model
    • Complete preprocessing pipeline
    • Model serialization (pickle)
    • Inference utilities
  2. Customer Churn Prediction

    • Predicting customer churn behavior
    • Multiple models: Random Forest (tuned), XGBoost (tuned)
    • Feature engineering and preprocessing
    • Production-ready inference code

Regression Projects

  1. House Price Prediction
    • Predicting California housing prices
    • XGBoost regression model
    • Web application with Flask
    • Model comparison and evaluation
    • Deployment-ready with Procfile

Resources

  • ML Models Cheat Sheet (PDF)
  • ML Modeling Guide (PDF)

04-Deep Learning

Neural network projects using TensorFlow/Keras.

  1. Fashion MNIST Classification

    • Multi-class image classification
    • Convolutional Neural Network (CNN)
    • Keras model implementation
    • Model visualization
    • Image inference pipeline
  2. Titanic Survival Prediction (ANN)

    • Binary classification using Artificial Neural Networks
    • Preprocessing pipeline with joblib
    • Keras model with hyperparameter tuning
    • Structured inference utilities

πŸ› οΈ Technologies Used

  • Programming Language: Python 3.10
  • Data Processing: NumPy, Pandas
  • Visualization: Matplotlib, Seaborn, Plotly
  • Machine Learning: Scikit-learn, XGBoost
  • Deep Learning: TensorFlow, Keras
  • Web Framework: Flask
  • Deployment: Heroku (Procfile)
  • Environment Management: Python dotenv

πŸ“‹ Prerequisites

Python 3.8+ pip Virtual environment (recommended)

πŸš€ Getting Started

  1. Clone the repository
git clone https://github.com/mohamedzahran744/End-to-End-Machine-Learning.git cd End-to-End-Machine-Learning
  1. Create a virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
  1. Install dependencies (for specific projects)
cd [project-folder] pip install -r requirements.txt
  1. Set up environment variables
# Copy .env.example to .env and fill in your variables cp .env.example .env

πŸ“Š Project Highlights

Machine Learning Projects

  • Complete preprocessing pipelines with pickle/joblib serialization
  • Hyperparameter tuning for optimal model performance
  • Clean code structure with separate utilities and inference modules
  • Production-ready implementations with error handling

Deep Learning Projects

  • Custom neural network architectures
  • Model visualization and evaluation
  • Image preprocessing and augmentation
  • Structured project organization following best practices

πŸ“ Project Structure Pattern

Most projects follow this structure:

project-name/ β”œβ”€β”€ dataset/ # Data files β”œβ”€β”€ models/ # Trained models β”œβ”€β”€ notebooks/ # Jupyter notebooks for experimentation β”œβ”€β”€ src/ # Source code β”‚ β”œβ”€β”€ utils/ # Utility functions β”‚ └── artifacts/ # Model artifacts β”œβ”€β”€ requirements.txt # Dependencies β”œβ”€β”€ .env.example # Environment variables template └── README.md # Project documentation 

🎯 Learning Path

  1. Python Fundamentals β†’ Practice with mini-projects
  2. Data Processing β†’ NumPy and Pandas mastery
  3. Data Visualization β†’ Matplotlib, Seaborn, Plotly
  4. Machine Learning β†’ Classification and Regression
  5. Deep Learning β†’ Neural Networks with TensorFlow/Keras

πŸ“ Notes

  • Each project includes detailed README files with specific instructions
  • Notebooks contain exploratory data analysis and model experimentation
  • Production code is separated from experimental notebooks
  • Models are serialized for deployment and inference

🀝 Contributing

Feel free to fork this repository and submit pull requests for improvements or additional projects.

πŸ“„ License

This project is open source and available under the MIT License (where applicable).

πŸ“§ Contact

Mohamed Magdy Zahran
Machine Learning Engineer | AI & Data Science Specialist

For questions, collaboration opportunities, or project discussions, feel free to reach out!


⭐ If you find this repository helpful, please consider giving it a star!

About

A repository for datasets, ML projects, and Python library practice covering both supervised and unsupervised machine learning.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Jupyter Notebook 99.3%
  • Other 0.7%