Intermediate Projects
More challenging projects that combine multiple ML concepts and techniques. Each project includes a starter.py scaffold, run it, then replace TODO sections with your implementation.
Starter usage:
cd project-XX-name→ download dataset per README →python starter.py
Prerequisites
Before starting these projects, you should have completed:
- All Beginner Projects
- Module 05: Model Evaluation & Optimization
- Module 06: Ensemble Methods
- Module 07: Feature Engineering
- Module 08: Unsupervised Learning (for some projects)
Bonus project ideas (not in the official 23)
These three builds extend the intermediate map. They are optional extras, not counted in the canonical 23-project list in the main README.
| Project | Focus | Dataset / start |
|---|---|---|
| Student performance indicator | Regression or classification on grades; EDA, feature encoding | Students performance in exams (Kaggle) |
| Credit card fraud detection | Imbalanced classification, anomaly-style metrics | Project 4 write-up, Kaggle Credit Card Fraud |
| Phishing classifier | URL / text features, Naive Bayes or linear models | Phishing URL (example collection): mirror the spam pipeline in spam detection |
Deep learning curriculum map (projects)
| Project | Skills | Link |
|---|---|---|
| Handwritten digit recognition (MNIST) | MLP/CNN, training loop, metrics | Project 1 |
| Customer churn prediction | Tabular ANN or gradient boosting, business metrics | Project 2 |
| House price prediction (ANN extension) | Regression with dense nets or baselines + compare | Beginner house prices |
Projects
Project 1: Handwritten Digit Recognition (MNIST)
Difficulty: Intermediate
Time: 3-5 days
Skills: Neural Networks, Image Processing, Deep Learning Basics
Build a neural network to classify handwritten digits (0-9).
What you'll learn:
- Building neural networks
- Image preprocessing
- Hyperparameter tuning
- Deep learning workflow
Dataset: MNIST (built into Keras/TensorFlow)
Extensions:
- Try different architectures
- Use data augmentation
- Achieve >99% accuracy
Project 2: Customer Churn Prediction
Difficulty: Intermediate
Time: 4-5 days
Skills: Classification, Feature Engineering, Imbalanced Data, Business Metrics
Predict which customers will leave a service (churn prediction).
What you'll learn:
- Handling imbalanced datasets
- Business-focused metrics (cost-sensitive learning)
- Feature engineering from customer data
- Ensemble methods
- Model interpretation
Dataset: Telco Customer Churn or similar
Extensions:
- Calculate cost of churn
- Recommend retention strategies
- Build a dashboard
Project 3: Movie Recommendation System
Difficulty: Intermediate
Time: 5-7 days
Skills: Collaborative Filtering, Content-Based Filtering, Matrix Factorization
Build a recommendation system to suggest movies to users.
What you'll learn:
- Collaborative filtering
- Content-based filtering
- Matrix factorization
- Evaluation metrics for recommendations
- Hybrid approaches
Dataset: MovieLens
Extensions:
- Hybrid recommendation system
- Real-time recommendations
- Cold-start problem solutions
Project 4: Credit Card Fraud Detection
Difficulty: Intermediate
Time: 4-5 days
Skills: Anomaly Detection, Imbalanced Data, Classification, Feature Engineering
Detect fraudulent credit card transactions.
What you'll learn:
- Handling highly imbalanced data
- Anomaly detection techniques
- Precision/Recall tradeoffs
- Cost-sensitive learning
- Feature engineering for fraud detection
Dataset: Credit Card Fraud Detection
Extensions:
- Real-time fraud detection
- Explainable AI for fraud cases
- Cost-benefit analysis
Project 5: Customer Segmentation
Difficulty: Intermediate
Time: 3-4 days
Skills: Unsupervised Learning, Clustering, Dimensionality Reduction
Segment customers into groups based on behavior and demographics.
What you'll learn:
- K-means clustering
- Hierarchical clustering
- Choosing number of clusters
- Interpreting clusters
- Business applications
Dataset: Mall Customer Segmentation or e-commerce data
Extensions:
- Multiple clustering algorithms
- Cluster visualization
- Actionable insights from segments
Project 6: Time Series Forecasting
Difficulty: Intermediate
Time: 4-5 days
Skills: Time Series Analysis, ARIMA, LSTM, Feature Engineering
Forecast future values in a time series (sales, stock prices, etc.).
What you'll learn:
- Time series preprocessing
- ARIMA models
- LSTM for sequences
- Feature engineering for time series
- Evaluation for time series
Dataset: Airline Passengers or stock data
Extensions:
- Multiple forecasting methods
- Confidence intervals
- Real-time forecasting
Project 7: Feature Engineering Mastery
Difficulty: Intermediate
Time: 4-5 days
Skills: Feature Engineering, Feature Selection, sklearn Pipeline, Advanced Encoding
Practice feature engineering on a complex real-world dataset.
What you'll learn:
- Apply a full feature engineering workflow
- Use sklearn Pipeline and ColumnTransformer effectively
- Handle mixed data types (numeric, categorical, text)
- Implement advanced encoding techniques (WOE, Target Encoding)
- Perform feature selection using multiple methods
- Build robust preprocessing pipelines
Dataset: House Prices, Credit Card Default, or Employee Attrition datasets
Extensions:
- Automated feature engineering
- Feature store implementation
- Feature monitoring
Project 8: Ensemble Methods Comparison
Difficulty: Intermediate
Time: 4-5 days
Skills: Ensemble Methods, Bagging, Boosting, Stacking, Hyperparameter Tuning
Compare ensemble methods: Bagging, Boosting, Stacking, and Voting.
What you'll learn:
- Understand different ensemble methods and when to use them
- Implement and compare Bagging vs Boosting
- Use advanced boosting algorithms (XGBoost, LightGBM, CatBoost)
- Build Stacking and Voting ensembles
- Tune hyperparameters for ensemble methods
- Compare model performance across the ensembles
Dataset: Titanic, Credit Card Fraud, Customer Churn, or House Prices
Extensions:
- Custom ensemble creation
- Ensemble of ensembles
- Feature importance comparison
Project Structure
Each project should include:
project-name/
README.md # Detailed project description
data/ # Dataset
notebooks/ # Analysis notebooks
01-data-exploration.ipynb
02-feature-engineering.ipynb
03-model-development.ipynb
04-model-evaluation.ipynb
05-results-analysis.ipynb
src/ # Source code modules
data_preprocessing.py
feature_engineering.py
models.py
evaluation.py
models/ # Saved models
results/ # Results, plots, reports
tests/ # Unit tests
requirements.txt # Dependencies
config.yaml # Configuration file
Tips for Success
- Plan First: Outline your approach before coding
- Iterate: Build baseline, then improve incrementally
- Document: Keep detailed notes on decisions and results
- Visualize: Create clear comparison charts
- Compare: Try multiple approaches and compare
- Present: Create a clear presentation of results
Learning Outcomes
After completing these projects, you should be able to:
- Handle complex, real-world datasets
- Apply advanced feature engineering
- Use ensemble methods effectively
- Handle imbalanced data
- Build end-to-end ML pipelines
- Present results to stakeholders
Additional Resources
- Kaggle Competitions: Practice with real competitions
- Papers with Code: See current published approaches and leaderboards
- Towards Data Science: Learn from others' projects
Ready for a challenge? Start with MNIST if you want to learn deep learning, or Customer Churn for a business-focused project.
Next Level: 18-projects-advanced