Skip to content

Interactive Titanic survival prediction project using machine learning models with an advanced Streamlit-based UI

Notifications You must be signed in to change notification settings

fracabu/Titanic_ML

Repository files navigation

🚢 Titanic Machine Learning Project

Python Streamlit XGBoost License


Machine Learning interattivo sul dataset Titanic con UI moderna ed esperimenti avanzati

EsploraRisultatiInstallazioneDocumentazioneContribuisci


📋 Indice


🎯 Overview

Un'applicazione completa di Machine Learning che combina esperimenti avanzati con un'interfaccia utente moderna per l'analisi e la predizione della sopravvivenza sul Titanic.

✨ Caratteristiche Principali

  • 🔄 Training modello interattivo
  • 📊 Visualizzazioni dinamiche
  • 🛠️ Feature engineering automatizzato
  • 📈 Multiple submission ottimizzate
  • 🎨 UI moderna e responsive

📊 Risultati Sperimentali

🏆 Performance Submissions

Submission Score Caratteristiche
submission_advanced_features.csv 0.77751 • Random Forest (200 trees)
• Max depth: 7
• Feature engineering avanzato
submission_optimized.csv 0.75598 • XGBoost ottimizzato
• Hyperparameter tuning
• Feature avanzate
submission.csv 0.61722 • Random Forest base
• Feature engineering minimo
submission_with_isalone.csv 0.60047 • Feature IsAlone aggiunta
• Encoding binario cabine

📁 Struttura Progetto

TITANIC_ML/
│
├── 📱 titanic_app.py           # App Streamlit
├── 📊 generate_submission.py   # Script base
├── 📈 generate_submission_adv.py  # Features avanzate
├── 🔧 generate_submission_pro.py  # Ottimizzazione
├── 📝 titanic_eda.py          # Analisi dati
│
├── 📂 data/
│   ├── train.csv              # Training set
│   ├── test.csv               # Test set
│   └── train_cleaned.csv      # Dati preprocessati
│
├── 📦 models/
│   └── xgboost_model.pkl      # Modello salvato
│
└── 📄 requirements.txt        # Dipendenze

⚡ Installazione

# Clone repository
git clone https://github.com/yourusername/titanic_ml.git

# Crea ambiente virtuale
python -m venv venv

# Attiva ambiente
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows

# Installa dipendenze
pip install -r requirements.txt

# Avvia app
streamlit run titanic_app.py

💻 Applicazione Streamlit

Features

  • 📊 Dashboard interattiva
  • 🔄 Training real-time
  • 📈 Visualizzazioni dinamiche
  • 💾 Export predizioni
  • 🎨 Tema dark mode

Metriche

  • 📈 Accuratezza: 84.9%
  • 🎯 Precisione: 82.2%
  • 📊 Recall: 81.1%
  • 🏆 Score Kaggle: 0.77751

🛠️ Tecnologie

Core

  • Python 3.8+
  • Pandas
  • NumPy
  • Scikit-learn
  • XGBoost

Visualization

  • Streamlit
  • Plotly
  • Seaborn
  • Matplotlib

Development

  • Git
  • Virtual Env
  • Jupyter

📈 Performance e Ottimizzazione

Hardware Consigliato

  • 💻 RAM: 4GB+
  • 🔧 CPU: Multi-core
  • 💾 Disk: 1GB+

Tempi Esecuzione

  • ⚡ Training: 1-2 min
  • 🚀 Predizione: Real-time
  • 📊 EDA: Istantaneo

🤝 Come Contribuire

graph LR
    A[Fork] -->B[Feature Branch]
    B --> C[Commit]
    C --> D[Push]
    D --> E[Pull Request]
Loading

📫 Contatti

Github LinkedIn


📄 Licenza

MIT © Francesco Cabu

Releases

No releases published

Packages

No packages published

Languages