In this project, I have use my data engineeering skill to analyze disaster data to build a model to classifies disaster messages. I have 2 pipeline in the backend, 1 for ETL pipeline and 1 for ML training and improving. We also build an app with UI so users can input a new message and get classification results in several categories. The app will also display visualizations of the data.
app
| - template
| |- master.html # main page of web app
| |- go.html # classification result page of web app
|- run.py # Flask file that runs app
data
|- disaster_categories.csv # data to process
|- disaster_messages.csv # data to process
|- process_data.py # data cleaning pipeline
|- InsertDatabaseName.db # database to save clean data to
models
|- train_classifier.py # machine learning pipeline
|- classifier.pkl # saved model
README.md cleaned_tel_pipeline.db
-
Run the following commands in the project's root directory to set up your database and model.
- To run ETL pipeline that cleans data and stores in database
python data/process_data.py data/disaster_messages.csv data/disaster_categories.csv data/DisasterResponse.db
- To run ML pipeline that trains classifier and saves
python models/train_classifier.py data/DisasterResponse.db models/classifier.pkl
- To run ETL pipeline that cleans data and stores in database
-
Go to
app
directory:cd app
-
Run your web app:
python run.py
-
Click the
PREVIEW
button to open the homepage