https://github.com/alxhslm/coffee-rating-prediction
A simple ML app to predict the rating of a given coffee
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (7.8%) to scientific vocabulary
Keywords
Repository
A simple ML app to predict the rating of a given coffee
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
:coffee: Coffee rating prediction
The objective of this project is to be able to predict how highly rated a coffee would be on Coffee Review, based upon some meta-data about the selected coffee.
Downloading the dataset
The dataset can be download from Kaggle. You can either download this:
- Directly from the website
- Using the Kaggle API as follows:
bash
!kaggle datasets download -d schmoyote/coffee-reviews-dataset -f simplified_coffee.csv -p data
Training the model
To train a linear regression model, run the following script:
bash
training/train.py
Generating predictions using the model
The model is served within a separate Docker container. This is hosted using AWS Lambda.
To build the server locally, run the following command:
bash
docker build server -t coffee-prediction-server:latest
To start the server for the first time, use the following command:
bash
docker run -it --network coffee-rating-prediction_devcontainer_default --hostname coffee_server --name coffee-prediction-server coffee-prediction-server:latest
To restart the server, run the following:
bash
docker start -i coffee-prediction-server
Then run the following to test the server:
bash
python test_predict.py
Using the interactive dashboard
To investigate the predicted rating of a given coffee, you can use the interactive streamlit dashboard. This is hosted on Streamlit Cloud.
You can also launch the dashboard locally by running the following command:
bash
streamlit run dashboard.py
Owner
- Name: Alex Haslam
- Login: alxhslm
- Kind: user
- Company: @optimal-labs
- Repositories: 1
- Profile: https://github.com/alxhslm
GitHub Events
Total
- Delete event: 7
- Push event: 5
- Pull request event: 10
- Create event: 6
Last Year
- Delete event: 7
- Push event: 5
- Pull request event: 10
- Create event: 6
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Alex Haslam | a****2@g****m | 32 |
| Alex Haslam | 4****m | 1 |
Issues and Pull Requests
Last synced: 5 months ago
All Time
- Total issues: 0
- Total pull requests: 54
- Average time to close issues: N/A
- Average time to close pull requests: 3 days
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.07
- Merged pull requests: 39
- Bot issues: 0
- Bot pull requests: 54
Past Year
- Issues: 0
- Pull requests: 15
- Average time to close issues: N/A
- Average time to close pull requests: 3 days
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 12
- Bot issues: 0
- Bot pull requests: 15
Top Authors
Issue Authors
Pull Request Authors
- dependabot[bot] (54)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- mcr.microsoft.com/vscode/devcontainers/python 0-3.11 build
- python 3.11-slim build
- 152 dependencies
- ipython ^8.15.0
- jupyter 1.0.0
- kaggle ^1.5.16
- mypy ~1.0.0
- numpy 1.23.5
- pandas 1.5.2
- pandas-stubs ~1.5.2
- plotly 5.15.0
- pre-commit 2.20.0
- python ~3.11
- scikit-learn ^1.3.2
- scipy 1.10.0
- streamlit 1.25.0
- xgboost ^2.0.1
- flask ==3.0.0
- gunicorn ==21.2.0
- scikit-learn ==1.3.2
- blinker ==1.7.0
- click ==8.1.7
- flask ==3.0.0
- gunicorn ==21.2.0
- itsdangerous ==2.1.2
- jinja2 ==3.1.2
- joblib ==1.3.2
- markupsafe ==2.1.3
- numpy ==1.26.2
- packaging ==23.2
- scikit-learn ==1.3.2
- scipy ==1.11.3
- threadpoolctl ==3.2.0
- werkzeug ==3.0.1
- joblib 1.3.2
- numpy 1.23.5
- scikit-learn 1.3.2
- scipy 1.11.4
- threadpoolctl 3.2.0
- numpy 1.23.5
- python ~3.11
- scikit-learn 1.3.2