Disaster Response Pipeline Project

Introduction

During disaster events, sending messages to appropriate disaster relief agencies on a timely manner is critical. Using natural language processing and machine learning, I built a model for an API that classifies disaster messages and also a webapp for emergency works.

Installation

The code was developed using the Anaconda distribution of Python, versions 3.8.1. Python libraries used are numpy, pandas, sqlalchemy, plotly, sklearn, nltk, pickle, utility, flask, wordcloud

File Descriptions

In the Project Workspace, you’ll find a data set containing real messages that were sent during disaster events.

Instructions:

  1. 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

  2. Run the following command in the app’s directory to run your web app.
    python run.py

  3. Go to http://0.0.0.0:3001/

  4. The webapp files are in the webapp branch
    The web app is at webapp homepage

Screenshots

1. Home Page

2. Message Categories

Acknowledgements

Special thanks to Figure Eight for providing the dataset.