Welcome to the Survive the Titanic project! This project predicts the survival chances of Titanic passengers using machine learning models. It integrates data ingestion, processing, model training, and deployment into a seamless pipeline.
application.py # Flask application for predictions
config/ # Configuration files for database and paths
dags/ # Airflow DAGs for data extraction and transformation
notebook/ # Jupyter notebooks for exploratory data analysis
pipeline/ # Training pipeline scripts
src/ # Core source code for data processing, training, and logging
static/ # Static files (CSS)
templates/ # HTML templates for the web app
artifacts/ # Generated models and raw data
- Data Ingestion: Extracts Titanic data from PostgreSQL and stores it in Redis.
- Data Processing: Handles missing values, feature engineering, and data balancing.
- Model Training: Trains a Random Forest model with hyperparameter tuning.
- Web Application: Flask-based app for survival prediction.
- Monitoring: Prometheus and Grafana for metrics and visualization.
- Orchestration: Apache Airflow for pipeline automation.
-
Clone the Repository:
git clone <repository-url> cd survive-the-titanic
-
Install Dependencies:
pip install -r requirements.txt
-
Run the Flask Application:
python application.py
-
Access the Web App: Open your browser and navigate to
http://localhost:5000. -
Start Monitoring:
- Prometheus:
http://localhost:9090 - Grafana:
http://localhost:3000(Default credentials: admin/admin)
- Prometheus:
- Fill in the passenger details on the web form.
- Click Predict.
- View the survival prediction result.
This project is licensed under the MIT License.