This Project is part of Data Science Nanodegree Program by Udacity in collaboration with Figure Eight. The initial dataset contains pre-labelled tweet and messages from real-life disaster. The aim of the project is to build a Natural Language Processing tool that categorize messages.
The Project is divided in the following Sections:
- Data Processing, ETL Pipeline to extract data from source, clean data and save them in a proper database structure
- Machine Learning Pipeline to train a model able to classify text message in categories
- Web App to show model results in real time.
- Python 3.5+ (I used Python 3.7)
- Machine Learning Libraries: NumPy, SciPy, Pandas, Scikit-Learn
- Natural Language Process Libraries: NLTK
- SQLlite Database Libraqries: SQLalchemy
- Web App and Data Visualization: Flask, Plotly
Clone this GIT repository:
git clone https://github.com/mayukhsil/CapstoneProject_DSND.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/ITC.NS.csv data/Stock.db
- To run ML pipeline that trains classifier and saves
python models/train_regressor.py data/Stock.db models/regressor.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:5000/
- Udacity for providing such a complete Data Science Nanodegree Program
- Figure Eight for providing messages dataset to train my model
- This is an example of a message you can type to test Machine Learning model performance
- After clicking Classify Message, you can see the categories which the message belongs to highlighted in green
- The main page shows some graphs about training dataset, provided by Figure Eight