This project focuses on analyzing disaster data from Figure Eight to build a model that is used to be included in a web-app which allows entering a new message and obtaining the predictions regarding disaster related categories.
- app
| - template
| |- master.html # main page of web app
| |- go.html # classification result page of web app
|- run.py # main Flask file that runs app
- data
|- disaster_categories.csv # data to process
|- disaster_messages.csv # data to process
|- DisasterResponse.db # database to save clean data to
|- process_data.py
- models
|- train_classifier.py
|- model.pkl # saved model
- requirements
|- requirements.txt #can be easy to install using pip install requirements
You can find all required libraries that used in this project in requirements.txt
.
-
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/model.pkl
- To run ETL pipeline that cleans data and stores in database
-
Run the following command in the app's directory to run your web app.
python app/run.py
-
Go to http://0.0.0.0:3001/
-
Here is example for classifying a message using this app and the result is below
Mahmoud Ahmed