Skip to content
Snippets Groups Projects
README.md 2.24 KiB
Newer Older
# Diamond Price Prediction Project
| Name          | Student ID |
|---------------|------------|
| Mutote, Michael | 22202956   |
| Gattousi, Fadi  | 22211572   |
Michael Mutote's avatar
Michael Mutote committed

Michael Mutote's avatar
Michael Mutote committed
Recommendation Systems
https://mygit.th-deg.de/mm13956/ws-23-sas-02
Michael Mutote's avatar
Michael Mutote committed

-------------------
Michael Mutote's avatar
Michael Mutote committed

## Project Overview
This project aims to predict diamond prices using four different regression models available in scikit-learn. It includes a Python script (`Main.py`) with a graphical user interface (GUI) for visualizing and interacting with the data and predictions. The dataset (`diamonds.csv`) consists of various attributes of diamonds. A Jupyter notebook (`training.ipynb`) is provided for data preprocessing, model training, and evaluation.
## Setup and Installation
To set up this project, you need to install the required Python packages. You can do this by running the following command in your terminal:
Michael Mutote's avatar
Michael Mutote committed

```bash
pip install -r requirements.txt
```
Michael Mutote's avatar
Michael Mutote committed

## Usage
1. **Running the Application**: Execute `Main.py` to launch the application. This script uses the cleaned data from `diamonds.csv` and a pre-trained Random Forest Regressor model to predict diamond prices.
2. **Interacting with the GUI**:
   -  The GUI allows you to visualize data and predictions. Use the provided controls to interact with the data and view results.  
   -  Main Window: Enter values for the diamond attributes and click on the "Calculate" button to predict the price of the diamond. The predicted price will be displayed in the "Predicted Price" field at the bottom. In addition, the main window displays a scatter plot of the carat weight vs. the price of the diamonds in the dataset. 
  
## Files in the Project
- `diamonds.csv`: Dataset containing diamond attributes.
- `Main.py`: Main Python script with GUI for prediction and visualization.
- `requirements.txt`: List of Python packages required for the project.
- `training3.ipynb`: Jupyter notebook for data preprocessing and analysis.

## Contributing
Feel free to contribute to this project by submitting pull requests or suggesting improvements.

---

This README provides a basic overview and guidance for your project. You might want to customize it further to include more specific details about the machine learning models, the GUI features, or any other unique aspects of your project.