{"id":19209196,"url":"https://github.com/hrolive/disaster-response-pipeline","last_synced_at":"2026-04-07T22:31:16.977Z","repository":{"id":104688374,"uuid":"255133166","full_name":"HROlive/Disaster-Response-Pipeline","owner":"HROlive","description":"A machine learning pipeline that categorizes disaster related messages so that they can be sent to the appropriate disaster relief agency","archived":false,"fork":false,"pushed_at":"2021-06-11T15:13:31.000Z","size":9797,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-23T07:17:52.236Z","etag":null,"topics":["flask","machine-learning","natural-language-processing","nltk","pandas","plotly","python","scikit-learn","sql","sqlalchemy"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HROlive.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-12T17:19:20.000Z","updated_at":"2022-10-07T11:39:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"a5d4c722-bbe1-4023-bfc6-167818487e37","html_url":"https://github.com/HROlive/Disaster-Response-Pipeline","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/HROlive/Disaster-Response-Pipeline","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HROlive%2FDisaster-Response-Pipeline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HROlive%2FDisaster-Response-Pipeline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HROlive%2FDisaster-Response-Pipeline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HROlive%2FDisaster-Response-Pipeline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HROlive","download_url":"https://codeload.github.com/HROlive/Disaster-Response-Pipeline/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HROlive%2FDisaster-Response-Pipeline/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31532165,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flask","machine-learning","natural-language-processing","nltk","pandas","plotly","python","scikit-learn","sql","sqlalchemy"],"created_at":"2024-11-09T13:29:30.302Z","updated_at":"2026-04-07T22:31:16.961Z","avatar_url":"https://github.com/HROlive.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Disaster Response Pipeline\n\n![Banner](screenshots/banner.jpg)\n\n## Table of Contents\n1. [Description](#description)\n2. [Dependencies](#dependencies)\n3. [Installing](#installation)\n4. [Executing Program](#execution)\n5. [Exploration Files](#exfiles)\n6. [Web App Pipeline Files](#appfiles)\n7. [Screenshots](#screenshots)\n\n\u003ca name=\"descripton\"\u003e\u003c/a\u003e\n## Description\n\nIn this project, we analyze disaster data from Figure Eight(a dataset that contains real messages and tweets that were sent during disaster events). We will also build a model for an API that categorizes these event messages so that they can sent to an appropriate disaster relief agency.\n\nWe also developed a include a web app where an emergency worker can input a new message and get classification results in several categories and display visualizations of the data.\n\nThis project is divided in the following key sections:\n\n1. An ETL pipeline that loads the messages and categories datasets, merges the two datasets, cleans the dataand stores it in a SQLite database;\n2. A machine learning pipeline that uses NLTK, as well as scikit-learn's Pipeline and GridSearchCV to output a final model that predicts the classes for 36 different categories (multi-output classification);\n3. A web app that shows the classification results and visuzlizations for any user given input, in real time.\n\n\u003ca name=\"dependencies\"\u003e\u003c/a\u003e\n## Dependencies\n* Python 3.5+\n* Machine Learning Libraries: NumPy, Pandas, Sciki-Learn\n* Natural Language Process Libraries: NLTK\n* SQLlite Database Libraqries: SQLalchemy\n* Model Loading and Saving Library: Pickle\n* Web App and Data Visualization: Flask, Plotly\n\n\u003ca name=\"installation\"\u003e\u003c/a\u003e\n## Installing\nTo clone the git repository:\n```\ngit clone https://github.com/HROlive/disaster-response-pipeline.git\n```\n\u003ca name=\"execution\"\u003e\u003c/a\u003e\n## Executing Program\n1. You can run the following commands in the project's directory to set up the database, train model and save the model.\n\n    - To run ETL pipeline to clean data and store the processed data in the database\n        `python data/process_data.py data/disaster_messages.csv data/disaster_categories.csv data/disaster_response_db.db`\n    - To run the ML pipeline that loads data from DB, trains classifier and saves the classifier as a pickle file\n        `python models/train_classifier.py data/disaster_response_db.db models/classifier.pkl`\n\n2. Run the following command in the app's directory to run your web app.\n    `python run.py`\n\n3. Go to http://0.0.0.0:3001/\n\n\u003ca name=\"exfiles\"\u003e\u003c/a\u003e\n## Exploration Files\n\nIn the **data** and **models** folder you can find two jupyter notebook that will help you understand how the model works step by step:\n1. **ETL Preparation Notebook**: learn everything about the implemented ETL pipeline\n2. **ML Pipeline Preparation Notebook**: look at the Machine Learning Pipeline developed with NLTK and Scikit-Learn\n\nYou can use **ML Pipeline Preparation Notebook** to re-train the model or tune it through a dedicated Grid Search section.\n\n\u003ca name=\"appfiles\"\u003e\u003c/a\u003e\n## Web App Pipeline Files\n**app/templates/***: templates/html files for web app\n\n**data/process_data.py**: Extract Train Load (ETL) pipeline used for data cleaning, feature extraction, and storing data in a SQLite database\n\n**models/train_classifier.py**: A machine learning pipeline that loads data, trains a model, and saves the trained model as a .pkl file for later use\n\n**app/run.py**: This file can be used to launch the Flask web app used to classify disaster messages\n\n\u003ca name=\"screenshots\"\u003e\u003c/a\u003e\n## Screenshots\n\n1. The homepage shows some graphs about training dataset, provided by Figure Eight\n\n![Homepage](screenshots/homepage.png)\n\n2. After we input the desired message and click **Classify Message**, we can see the categories which the message belongs to highlighted in green\n\n![Corona](screenshots/corona_food_test.png)\n\n![Rain](screenshots/rain_test.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhrolive%2Fdisaster-response-pipeline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhrolive%2Fdisaster-response-pipeline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhrolive%2Fdisaster-response-pipeline/lists"}