Skip to content
Snippets Groups Projects
Commit 50c82cb5 authored by Om Vaghasiya's avatar Om Vaghasiya
Browse files

Update README.md

parent 401c2358
No related branches found
No related tags found
No related merge requests found
......@@ -10,11 +10,13 @@ Link to repository: https://mygit.th-deg.de/assistance-systems1/laptop-price-pre
A Machine Learning Model to predict laptop price based on user requirement. This project uses Random Forest Regression Model to train on a given dataset. Interactive GUI is developed using PyQt6.
A file import is to be done using the file menu from the local device named laptopsdata.csv and after that the user should enter the specifications in the app and click on Get Recommendation button and the price is generated under the under with the other metrices such as MSE, RMSE, R-squared value and MAE is seen. Scatter plot, histogram , pairplot and heatmap are generated for data and user visualizations. Price is generated in Rupees.
# Installation
1. Clone the repository.
2. Create a virtual environment: `python -m venv venv`
3. Activate the virtual environment: `source venv/bin/activate` (Linux/Mac) or `venv\Scripts\activate` (Windows)
3. Activate the virtual environment: `source venv/bin/activate` (Linux/Mac) or `.\venv\Scripts\activate` (Windows)
4. Install dependencies: `pip install -r requirements.txt`
5. Follow the steps in the Usage section.
......@@ -22,54 +24,55 @@ A Machine Learning Model to predict laptop price based on user requirement. This
Download this git repository or clone it to your system using following command:
``https://mygit.th-deg.de/assistance-systems1/laptop-price-prediction``
```git clone https://mygit.th-deg.de/assistance-systems1/laptop-price-prediction```
Install required python packages from requirements.txt file using following command:
``pip install -r requirements.txt``
```pip install -r requirements.txt```
1. Run the app: `python src/main.py`
2. Load data using the provided button.
2. Load data using the file menu button and import data(Use the same CSV file provided here laptopsdata.csv).
3. Explore laptop data in the displayed table.
4. Enter the specifications of the laptop and click on Get Recommendation button
5. If you want to see data info you can again click on file menu and click on show data info and you can see the details and Heatmap.
# Implementation of the Requests
1. Graphical User Interface (GUI) Components
- **Function:** main window, buttons, QcomboBox, Qslider, QcheckBox and QTextBrowser for the input sections.
- **Contribution by [Other Student]:** Designed and implemented various UI components for improved aesthetics and usability.
- Designed and implemented various UI components for improved aesthetics and usability.
2. Importing Data
- **Method:** `import_data`
- **Function:** Loads CSV data using `QFileDialog`.
- **Contribution by [Other Student]:** Improved file import functionality.
- Improved file import functionality.
3. Preprocessing Data and Training the Model
- **Methods:** `preprocess_data`, `train_model`
- **Functions:** One-hot encodes categorical columns, scales numerical features, and trains the model using RandomForestRegressor.
- **Contribution by [Other Student]:** Optimized data preprocessing and model training.
- Optimized data preprocessing and model training.
4. Making price Recommendations
- **Method:** `predict_recommendation`
- **Function:** Gathers user inputs, constructs input data, and predicts laptop prices.
- **Contribution by [Other Student]:** Designed and connected user-friendly UI elements.
- Designed and connected user-friendly UI elements.
5. Calculating Metrics
- **Methods:** `calculate_mse`, `calculate_rmse`, `calculate_r_squared`, `calculate_mae`
- **Functions:** Compute regression metrics for model evaluation.
- **Contribution by [Other Student]:** Collaborated on accurate metric calculations.
- Collaborated on accurate metric calculations.
6. Data Visualization and Graphs
- **Methods:** `show_data_info`, `plot_histogram`, `plot_pairplot`
- **Methods:** `show_data_info`, `plot_histogram`, `plot_pairplot`, `plot_histogram`, `plot_pairplot`, `plot_scatter`
- **Functions:** Generate informative visualizations.
- **Contribution by [Other Student]:** Designed visually appealing and informative plots.
- Designed visually appealing and informative plots.
# Work Done
......@@ -77,14 +80,20 @@ Install required python packages from requirements.txt file using following comm
Om Vaghasiya
1. Worked on Collection and Preprocessing of Dataset using Pandas.
2. Modifying and Preparing Data with use of numpy arrays.
3. Training Working Regression Model with help of Scikit-learn.
2. Modifying and Preparing Data with use of numpy.
3. Training RandomForestRegression Model with help of Scikit-learn.
4. Data Visualization(matplotlib and pandas)
5. Python Programming
Jenil Kevadiya
1. Creating a GUI Interface using PyQt6.
2. Getting User-Inputs using different GUI elements.
3. Integrating RandomForest Regression model to main file in order to get prediction price.
4. Python Programming
Overall, Both the students have worked in each others task.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment