Skip to content
Projects

grknc/Applied-Machine-Learning-Projects

View on GitHub

grknc/Applied-Machine-Learning-Projects has 37 GitHub stars and 5 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-14 19:38 UTC. Last push 2026-02-23.

How these counts are measured

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

About

A comprehensive Machine Learning project hub with 25 real-world examples across 8 industries. Includes production-ready Python pipeline (preprocessing, feature engineering, training, evaluation) and starter templates for bootcamp participants.

Learning

README.md

Original

Machine Learning Project Template: Industry-Based Projects

A comprehensive collection of real-world Machine Learning projects across industries for bootcamp participants.

ML Projects

Machine Learning Projects License Status


Repository Purpose

This repository is a reference template with 25 real-world, classical ML example projects across different industries and problem types. Review these projects to understand how different industry domains approach Machine Learning problems, then apply the same patterns to your own bootcamp project.


1) How to Use This Repository

  1. Clone this repository locally:

    git clone https://github.com/username/Applied-Machine-Learning-Projects.git
    cd Applied-Machine-Learning-Projects
    
  2. Create and activate a virtual environment:

    python -m venv .venv
    source .venv/bin/activate  # Windows: .venv\Scripts\activate
    
  3. Install dependencies:

    pip install -r requirements.txt
    
  4. Start working through notebooks in order:

    • notebooks/01_eda.ipynb
    • notebooks/02_feature_engineering.ipynb
    • notebooks/03_modeling_evaluation.ipynb

2) Folder Structure

Applied-Machine-Learning-Projects/
├── README.md
├── requirements.txt
├── pytest.ini                  # Test configuration
├── data/
│   ├── raw/                    # Original immutable source data
│   └── processed/              # Cleaned/transformed data for modeling
├── notebooks/
│   ├── 01_eda.ipynb
│   ├── 02_feature_engineering.ipynb
│   └── 03_modeling_evaluation.ipynb
├── src/
│   ├── data_preprocessing.py   # load → clean → save pipeline
│   ├── feature_engineering.py  # ColumnTransformer builder
│   ├── train.py                # model training & saving
│   └── evaluate.py             # metrics & reporting
├── tests/
│   ├── conftest.py
│   ├── test_data_preprocessing.py
│   ├── test_feature_engineering.py
│   ├── test_train.py
│   └── test_evaluate.py
├── example_projects/           # 25 industry-based ML examples
│   └── <project>/
│       ├── README.md
│       └── starter_notebook.ipynb
├── models/                     # Saved models (*.joblib)
└── reports/
    ├── figures/                # Plots and visual outputs
    └── metrics/                # Evaluation summaries (JSON/CSV)

3) Dataset Organization Guidelines

  • Put untouched source files in data/raw/.
  • Write cleaned or engineered datasets to data/processed/.
  • Never overwrite raw data.
  • Prefer meaningful names, e.g.:
    • data/raw/customer_churn.csv
    • data/processed/customer_churn_clean.csv
  • If data is sensitive, do not commit it to Git. Add patterns to .gitignore as needed.

Recommended workflow:

  1. Load from data/raw/.
  2. Validate schema and missing values.
  3. Clean + transform → save to data/processed/.
  4. Train and evaluate from data/processed/.

4) Running the Pipeline

Each src/ module can be run standalone in sequence:

python src/data_preprocessing.py   # raw → data/processed/sample_clean.csv
python src/train.py                # processed CSV → models/baseline_model.joblib
                                   #               + models/preprocessor.joblib
                                   #               + reports/metrics/baseline_metrics.json
python src/evaluate.py             # reload model → print metrics

5) Running Tests

python -m pytest tests/

The suite covers all src/ modules with 100% coverage (excluding CLI __main__ blocks).


:factory: Industry-Based Machine Learning Project Catalog

All 25 example projects are in example_projects/. Each project includes a README.md (problem definition, dataset, recommended models, metrics) and a starter_notebook.ipynb ready to run after downloading the dataset.

A) Retail & E-commerce

# Project Type
10 Customer Satisfaction Prediction Classification
05 Sales Forecasting (Walmart) Time Series
23 Store Item Demand Forecasting Time Series
09 Product Recommendation (MovieLens) Recommender System

B) Marketing & CRM

# Project Type
01 Customer Churn Prediction Classification
13 Marketing Campaign Response Classification
08 Customer Lifetime Value (CLTV) Regression
03 Customer Segmentation Clustering

C) Finance & Insurance

# Project Type
04 Credit Risk Classification Classification
07 Credit Card Fraud Detection Classification (imbalanced)
15 Loan Default Prediction Classification
20 Insurance Cost Prediction Regression

D) Energy & Utilities

# Project Type
14 Energy Consumption Forecasting Time Series
21 Solar Power Generation Forecasting Time Series

E) Healthcare

# Project Type
18 Diabetes Risk Prediction Classification
19 Heart Disease Prediction Classification
16 Calorie Expenditure Prediction Regression

F) HR & Workforce

# Project Type
06 Employee Attrition Prediction Classification

G) Media & Entertainment

# Project Type
11 Movie Review Sentiment Analysis Text Classification
12 Email / SMS Spam Detection Text Classification
17 Podcast Listening Time Prediction Regression

H) General / Cross-Industry

# Project Type
02 House Price Prediction Regression
24 California Housing Price Regression Regression
22 Wine Quality Prediction Classification
25 Binary Rainfall Prediction Classification

:compass: How Bootcamp Participants Should Use This Repository

  • Choose ONE example project from example_projects/ that interests you.
  • Review its README.md for problem definition, dataset recommendations, and baseline approaches.
  • Study the starter_notebook.ipynb to understand the workflow and methodology.
  • Create your own project by applying the same patterns to a dataset of your choice.
  • Build your own dataset-driven solution and document your decisions clearly.

:white_check_mark: Expectations for Bootcamp Projects

Your final project should include:

  • A clear problem definition
  • Exploratory Data Analysis (EDA)
  • Feature engineering
  • At least two models for comparison
  • Proper evaluation metrics aligned with the problem type
  • Business / real-world interpretation of the results

6) Workflow Sections

EDA

Goal: understand distributions, missingness, class balance, outliers, and relationships.

Checklist:

  • Inspect shape, dtypes, null counts.
  • Plot target distribution and key feature distributions.
  • Note hypotheses and potential data quality issues.

Feature Engineering

Goal: build model-ready inputs.

Checklist:

  • Define numeric/categorical/boolean feature groups.
  • Handle missing values (median for numeric, mode for categorical).
  • Encode categorical features with OneHotEncoder.
  • Scale numeric features where appropriate.

Modeling

Goal: train baseline and improved models.

Checklist:

  • Create train/test split (stratify=y for classification).
  • Wrap preprocessing + model in a sklearn.Pipeline.
  • Track parameters and random seeds for reproducibility.

Evaluation

Goal: quantify model quality and compare alternatives.

Checklist:

  • Select proper metrics: ROC-AUC / F1 (classification), MAE / RMSE / R² (regression), MAPE (time series).
  • For imbalanced datasets, prefer Recall, F1, and PR-AUC over Accuracy.
  • Save metrics to reports/metrics/.

Conclusion

Goal: communicate findings and next steps.

Checklist:

  • Summarize best-performing model and key metric.
  • Highlight limitations and assumptions.
  • Suggest concrete improvements (hyperparameter tuning, more data, feature ideas).

7) Example Snippets

Loading and Cleaning Data

# Using the src/ module directly:
from src.data_preprocessing import load_raw_data, clean_data, save_processed_data

df = load_raw_data("data/raw/your_dataset.csv")  # also supports .xlsx, .json, .parquet
df = clean_data(df)
save_processed_data(df, "data/processed/clean_dataset.csv")

Training a Classification Model

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.pipeline import Pipeline
from sklearn.linear_model import LogisticRegression

# Import src/ module
import sys; sys.path.insert(0, "src")
from feature_engineering import build_preprocessor

df = pd.read_csv("data/processed/clean_dataset.csv")
TARGET = "target"  # replace with your column name

X = df.drop(columns=[TARGET])
y = df[TARGET]

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42, stratify=y
)

model = Pipeline([
    ("preprocessor", build_preprocessor(X_train)),
    ("clf", LogisticRegression(max_iter=1000, class_weight="balanced")),
])
model.fit(X_train, y_train)

Evaluation

from sklearn.metrics import classification_report, roc_auc_score

preds = model.predict(X_test)
probs = model.predict_proba(X_test)

# Binary
roc_auc = roc_auc_score(y_test, probs[:, 1])

# Multiclass
# roc_auc = roc_auc_score(y_test, probs, multi_class="ovr", average="macro")

print(f"ROC-AUC: {roc_auc:.4f}")
print(classification_report(y_test, preds))

Saving a Trained Model

import joblib

joblib.dump(model, "models/baseline_model.joblib")

# Reload later:
# loaded = joblib.load("models/baseline_model.joblib")

8) Suggested Next Steps for Learners

  • Pick an example project and study its structure.
  • Download the recommended dataset for that project.
  • Create your own implementation following the same workflow.
  • Document your results and findings in reports/.
  • Compare your approach with the starter notebook.

Happy learning and building 🚀