Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feedback issues #38

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/tasks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Tasks
about: To create and track tasks within a GitHub repository.
title: Descriptive title of the task (Change this to suit the task)
labels: ''
assignees: ''

---

## **Description**
Provide a concise overview of the task and its objectives.

---

## **Tasks**

- [ ] Task 1: Description of sub-task 1
- [ ] Task 2: Description of sub-task 2
- [ ] Task 3: Description of sub-task 3
45 changes: 45 additions & 0 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Publishes docker image, pinning actions to a commit SHA,
# and updating most recently built image with the latest tag.
# Can be triggered by either pushing a commit that changes the `Dockerfile`,
# or manually dispatching the workflow.

name: Publish Docker image

on:
workflow_dispatch:
push:
paths:
- 'Dockerfile'
- 'conda-linux-64.lock'

jobs:
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v4

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: hsshashank11/dsci522
tags: |
type=raw, value={{sha}},enable=${{github.ref_type != 'tag' }}
type=raw, value=latest

- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
9 changes: 8 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ Thank you for your interest in contributing to the **522 Wine Quality Classifica

## How You Can Contribute

### Small typo problems
Little typo pro

### Reporting Issues
If you encounter a bug or have a suggestion:
1. Check the [existing issues](https://github.com/UBC-MDS/522-wine-quality-32/issues) to ensure it hasn’t been reported.
Expand All @@ -20,4 +23,8 @@ To contribute directly to the repository:
1. Fork this repository and clone it to your local machine.
2. Create a branch for your changes:
```bash
git checkout -b feature/your-feature-name
git checkout -b feature/your-feature-name
3. Make your changes
4. Create a new pull request for your changes
5. Let other collaborator know your PR and wait for their merging
6. Then you can work on other parts of project
8 changes: 8 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM quay.io/jupyter/minimal-notebook:afe30f0c9ad8

COPY conda-linux-64.lock /tmp/conda-linux-64.lock

RUN mamba update --quiet --file /tmp/conda-linux-64.lock \
&& mamba clean --all -y -f \
&& fix-permissions "${CONDA_DIR}" \
&& fix-permissions "/home/${NB_USER}"
34 changes: 33 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# [Wine Quality Prediction ](https://github.com/orgs/UBC-MDS/projects/177/views/1)
# Wine Quality Prediction

### Project Board

- [Milestone 1](<https://github.com/orgs/UBC-MDS/projects/177/views/1>)
- [Milestone 2](https://github.com/orgs/UBC-MDS/projects/183)

# Summary
This project explores the relationship between physicochemical properties of wines and their quality ratings, aiming to predict wine quality and identify key factors influencing it using machine learning models such as Decision Trees. Through exploratory data analysis (EDA), we examine patterns, distributions, and correlations, addressing challenges such as class imbalances in wine quality ratings. The Decision Tree model is evaluated using metrics like accuracy, precision, recall, and feature importance to uncover significant predictors, such as density, alcohol, and volatile_acidity. The primary goal is to build an interpretable machine learning pipeline that provides actionable insights for winemakers to optimize production processes and for consumers to make informed choices. Additionally, the project sets the foundation for future work, including incorporating sensory attributes, addressing dataset imbalances, and leveraging more advanced ensemble methods for better predictions.
Expand Down Expand Up @@ -70,6 +75,28 @@ If you want to ensure reproducibility across different operating systems, use pl
conda activate 522_milestone_env
```

### Option 3: Using Docker Container
### Running the analysis

1. Navigate to the root of this project on your computer using the
command line and enter the following command:

```
docker compose up
```

2. In the terminal, look for a URL that starts with
`http://127.0.0.1:8888/lab?token=`
(for an example, see the highlighted text in the terminal below).
Copy and paste that URL into your browser.

![Lab Token to copy](img/lab-token.png)

3. To run the analysis,
open `analysis.ipynb` in Jupyter Lab you just launched
and under the "Kernel" menu click "Restart Kernel and Run All Cells...".


## Updating the Environment

If the `environment.yaml` file is updated (e.g., new dependencies are added), you can update your existing environment with:
Expand All @@ -86,6 +113,11 @@ To remove the Conda environment:
conda env remove -n 522_milestone_env
```

To shut down the container and clean up the resources,
type `Cntrl` + `C` in the terminal
where you launched the container, and then type `docker compose rm`


### Files Included for Reproducibility

- `environment.yaml`: Contains the dependencies required for the project.
Expand Down
Loading
Loading