This Project is part of Data Science Nanodegree Program by Udacity using data provided by Figure Eight. The dataset contains pre-labelled tweet and messages from real-world disasters. The purpose of the project is to build a pipeline using Natural Language Processing tools that categorize the messages. The project has three components:
- Create an ETL Pipeline to extract data from source, clean data, complete other necessary data processing steps, and save the cleaned dataframe in sqlite databse.
- Create a Machine Learning Pipeline to train a model that will classify messages into given categories.
- Deploy the model to a Web App that will classify messages and display charts illustrating the dataset.
- Python 3.5+
- NumPy
- SciPy
- Pandas
- Sciki-Learn
- NLTK
- SQLalchemy
- Flask
- Plotly
Clone this GIT repository:
git clone https://github.com/mknox0826/DisasterResponsePipeline.git
-
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/DisasterCleaned.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
-
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/
This assignment required students to first plan out the ETL and ML pipelines in a jupyter notebook. These two notebooks can be found in the "data" and "models" folders, respectively, to get a better understanding of each step in the process. These two notebooks informed the finalized code that is run in the python scripts inExecuting Program.
- Udacity for providing such a complete Data Science Nanodegree Program
- Figure Eight for providing messages dataset to train my model