This is a project to create a disaster reponse pipeline using the Firgure Eight dataset. The dataset contains pre-labeled messages from an actual disaster. The labels are assigned with an intent to not only categorize the message as a request or not but also, it is used to classify and check if it is a call for help so that appropriate action can be taken.
This project is divided into 3 parts:
- Data Cleaning and preprocessing, an ETL pripeline is created clean the data and store them in a structured database (SQLite)
- A Machine learning pipeling to classify the messages amongst the present 36 categories
- A Web app to display the results
- Interpreter: Python 3.6+
- Processing libraries: Numpy, Pandas, Scikit-learn, NLTK
- DB connect library: SQLalchemy
- For Web app: Flask, Ploty
- Clone the repo using:
git clone https://github.com/kashyaparjun/DisasterResponse.git
- Download the saved model pickle file from the below link, unzip it and put it inside the models folder:
https://drive.google.com/file/d/1Oo2fwvLpkIVrS-6f2twfmLxSvQ5ilvrY/view?usp=sharing
- Run the following commands in the DisasterResponse directory:
- ETL pipeline to import data, clean it and store into SQLite DB:
python data/process_data.py data/disaster_messages.csv data/disaster_categories.csv data/DataResponse.db
- ML pipeline and saving the model (This might take a while to run, be patient!):
python model/train_classifier.py data/DataResponse.db models/classifier.pkl
- Finally, run the web app by running:
python app/run.py
- Go the URL:
http://0.0.0.0:3001
MIT
- Figure Eight for providing pre-labeled messages dataset