Git Product home page Git Product logo

eermis1 / udacity_disasterresponses_project Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 46.92 MB

This repository has been created for Udacity Data Scientist Nanodegree Program - Data Engineering Part - Disaster Response Pipeline Project.

License: MIT License

HTML 81.13% Jupyter Notebook 16.95% Python 1.92%
data-science nlp-machine-learning pipeline etl-pipeline nlp-pipeline machine-learning-pipeline flask plotly website

udacity_disasterresponses_project's Introduction

Udacity Data Scientist Nanodegree Program

Disaster Response Pipeline Project


License: MIT

Description

Intro Pic

This repository has been created for Udacity Data Scientist Nanodegree Program - Data Engineering Part - Disaster Response Pipeline Project. The dataset has been provided by Figure Eight and it contains pre-labelled tweet and messages from real-life disaster The aim of the project is to build a NLP Machine Learning Pipeline to categorize emergency messages based on the needs communicated by sender. The predictions from the pipeline will be used by organizations via web app that has been designed in the project.

The project is consisted of 3 main parts.

  1. ETL Pipeline: Extract data from source, clean and save into a SQLite DB.
  2. Machine Learning Pipeline: To train the model in order to be able to classify the messages correctly.
  3. Flask & Plotly Based Web App: Interactive web app that allows users to enter message and get classification predictions.

Getting Started

Directory Structure

        Udacity_DisasterResponses_Project
          |-- app
                |-- templates
                        |-- go.html
                        |-- master.html
                |-- run.py
                |-- visualizations.py                
          |-- data
                |-- disaster_message.csv
                |-- disaster_categories.csv
                |-- CleanDataDB.db
                |-- process_data.py
          |-- models
                |-- model.pkl
                |-- train_classifier.py
          |-- Jupyter_Notebooks
                |-- ETL Pipeline Preparation.ipynb
                |-- ETL Pipeline Preparation.html
                |-- ML Pipeline Preparation.ipynb
                |-- ML Pipeline Preparation.html                
          |-- README

Installation & Instructions

  1. Create virtual environment and activate it
    python3 -m venv env
    source env/bin/activate

  2. Download the repository to virtual environment
    cd env
    git clone https://github.com/eermis1/Udacity_DisasterResponses_Project.git
    cd Udacity_DisasterResponses_Project

  3. Install required libraries
    pip install numpy
    pip install scipy
    pip install pandas
    pip install sklearn
    pip install nltk
    pip install SQLalchemy
    pip install flask
    pip install plotly

  4. Go to app directory
    cd app

  5. Run "run.py"
    python run.py

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

Don't Forget !

If you wish to run process_data.py and train_classifier.py seperately please follow below steps;

python process_data.py disaster_messages.csv disaster_categories.csv DisasterResponse.db
python train_classifier.py ../data/DisasterResponse.db classifier.pkl

Notes:

  • The arguments change be changed based on user requirements
  • Repository already includes DB and model.pkl

Author

The repository has been created by Evren Ermiş

Screenshots

messagelentghperid Graph2

udacity_disasterresponses_project's People

Contributors

eermis1 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.