Welcome to RetroML, a nostalgic, config-driven machine learning pipeline that brings the radical vibes of the '90s to modern AutoML workflows. Run interpretable ML models through JSON configs or interactively via UI demos — no coding required!
-
Install Dependencies
pip install -r requirements.txt
-
Run a Pipeline
python retroml.py configs/classification_example.json
-
Try the Interactive UI (if you have the UI file)
python retroml_ui.py
The included classification demo specifically demonstrates:
- Customer Churn Prediction (Binary Classification)
- Predicts whether customers will leave (
churn=1) or stay (churn=0) - Uses features like contract type, monthly charges, and tenure
- Showcases model interpretability (feature importance)
- Predicts whether customers will leave (
- Run the interactive demo
python retroml_demo.py- Analyze the model in detail
python3 retroml_model_analyzer.py- Ensure that you have flask installed
pip install flask
- Launch the demo web application
python3 retroml_web_demo.pyThen open http://localhost:5000
retroml/
├── retroml.py # Main pipeline script
├── retroml_ui.py # Interactive terminal UI (optional)
├── requirements.txt # Python dependencies
├── configs/ # Configuration files
│ ├── classification_example.json
│ └── regression_example.json
├── data/ # Sample datasets
│ ├── customers.csv # Customer churn data
│ └── houses.csv # House price data
└── results/ # Output directory
├── classification/
└── regression/
{
"dataset": {
"path": "data/your_data.csv",
"target_column": "target"
},
"problem_type": "classification", // or "regression"
"preprocessing": {
"impute_missing": "mean", // "mean", "median", "mode"
"scale_features": true
},
"model": {
"auto_select": true,
"options": ["logistic_regression", "random_forest", "xgboost"]
},
"output": {
"save_dir": "results/",
"format": "pickle"
}
}- ✅ Automated model selection - Tests multiple algorithms automatically
- ✅ Config-driven workflow - No coding required, just JSON configuration
- ✅ Retro 90s UI - ASCII art, colored output, loading animations
- ✅ Comprehensive reporting - Detailed evaluation reports and metrics
- ✅ Model persistence - Save and load trained models
- ✅ Extensible architecture - Easy to add new algorithms and preprocessing steps
Classification:
- Logistic Regression
- Random Forest
- XGBoost (if installed)
Regression:
- Linear Regression
- Random Forest
- XGBoost (if installed)
RetroML brings back the radical vibes of 90s computing:
- ASCII art banners and loading screens
- Colorful terminal output with Rich formatting
- Progress bars that look like old-school installers
- Nostalgic terminology and messaging
# Run classification pipeline
python retroml.py configs/classification_example.json
# Run regression pipeline
python retroml.py configs/regression_example.json
# Create your own config and run
python retroml.py configs/my_config.jsonAfter running a pipeline, you'll find:
best_model.pkl- The trained model (with preprocessing)evaluation_report.txt- Detailed performance metrics- Console output with colorful retro styling
Want to add new algorithms or preprocessing steps? The modular design makes it easy:
- Add new models to
_get_default_models() - Extend preprocessing options in
preprocess_data() - Add new problem types (clustering, NLP, etc.)
- Clustering algorithms (K-means, DBSCAN)
- NLP support with transformers
- Hyperparameter tuning with Optuna
- Model explainability with SHAP
- MLflow experiment tracking
- Web-based UI with Flask/Streamlit
"Dude, this ML pipeline is totally tubular!" - RetroML, probably
ModuleNotFoundError: Install requirements with pip install -r requirements.txt
FileNotFoundError: Make sure your dataset path in the config is correct
Performance Issues: Try reducing dataset size or using simpler models for large datasets
This project is open source. Feel free to modify and distribute! MIT License
🎮 RetroML - Bringing 90s vibes to modern ML! 🎮 Made with ❤️ by Agile Creative Labs
