Skip to content
 
 

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

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages