Disaster Response Pipeline Project (Udacity - Data Science Nanodegree Project)
Table of Contents
Description
This project is a join collaboration between Udacity and Figure Eight. This project revolves around messages received from real-life disaster events. The purpose of this project is to categorize these messages in real-time by building a Natural Language Processing model.
This project goes as follows:
- Processing data, building an ETL pipeline to extract data from source, clean the data and save them in a SQLite DB
- Build a machine learning pipeline to train the which can classify text message in various categories
- Run a web app which can show model results in real time
Dependencies
- Python 3.5+
- Machine Learning Libraries: NumPy, SciPy, Pandas, Sciki-Learn
- Natural Language Process Libraries: NLTK
- SQLlite Database Libraqries: SQLalchemy
- Model Loading and Saving Library: Pickle
- Web App and Data Visualization: Flask, Plotly
Installing
To clone the git repository:
git clone https://github.com/HunterKane/Disaster-Response-Project.git
Executing Program:
-
You can run the following commands in the project's directory to set up the database, train model and save the model.
- To run ETL pipeline to clean data and store the processed data in the database
python data/process_data.py data/disaster_messages.csv data/disaster_categories.csv data/disaster_response_db.db
- To run the ML pipeline that loads data from DB, trains classifier and saves the classifier as a pickle file
python models/train_classifier.py data/disaster_response_db.db models/classifier.pkl
- To run ETL pipeline to clean data and store the processed data in the database
-
Run the following command in the app's directory to run your web app.
python run.py
-
Go to http://0.0.0.0:3001/
Authors
License
Acknowledgements
This project could not have been completed without the collaboration of these two contributors:
- Udacity for providing the learning platform.
- Figure Eight for providing the relevant dataset