Skip to content
Snippets Groups Projects
Commit 019f149a authored by Jenil Kevadiya's avatar Jenil Kevadiya
Browse files

Update README.md

parent 15b9b12a
No related branches found
No related tags found
No related merge requests found
......@@ -4,11 +4,21 @@ Kevadiya, Jenil, 22204227
**Title - Laptop Price Prediction**
Link to repository:
# Project Description
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 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.
#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)
4. Install dependencies: `pip install -r requirements.txt`
5. Follow the steps in the Usage section.
# Usage
#Basic Usage
Download this git repository or clone it to your system using following command:
......@@ -18,7 +28,49 @@ Install required python packages from requirements.txt file using following comm
``pip install -r requirements.txt``
Double click and run main.py file to use the prediction model.
1. Run the app: `python src/main.py`
2. Load data using the provided button.
3. Explore laptop data in the displayed table.
#Implementation of the Request
# 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.
2. Importing Data
- **Method:** `import_data`
- **Function:** Loads CSV data using `QFileDialog`.
- **Contribution by [Other Student]:** 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.
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.
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.
6. Data Visualization and Graphs
- **Methods:** `show_data_info`, `plot_histogram`, `plot_pairplot`
- **Functions:** Generate informative visualizations.
- **Contribution by [Other Student]:** Designed visually appealing and informative plots.
# Work Done
......@@ -26,7 +78,13 @@ 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.
3. Training Working Regression Model with help of Scikit-learn.
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.
......
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