Skip to content

This application/website Predicts a the user grade depending on factors submitted or compares grades to other user grades.

Notifications You must be signed in to change notification settings

SquidDre/Grade-Predictor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Grade Predictor Application Overview The Grade Predictor Application is a PyQt5-based graphical user interface (GUI) tool that predicts final grade percentages based on the hours spent studying per week. The application utilizes a simple linear regression model, implemented from scratch using gradient descent, to establish the relationship between study hours and grades. Users can input their study hours and expected final grade, and the application will update the dataset while visualizing the regression line and user input on a plot.

Features User Input: Allows users to enter their hours spent studying, expected final grade percentage, and professor's name. Dynamic Plotting: Displays a scatter plot of the training data, the linear regression line, and user input predictions. CSV Integration: Appends user input data to a CSV file for future analysis. Gradient Descent Implementation: Implements gradient descent to optimize the linear regression parameters (slope and intercept). Technologies Used Python 3.x PyQt5 Pandas NumPy Matplotlib Scikit-learn (for train-test splitting) Installation Clone or download the repository.

Ensure you have Python 3.x installed on your machine.

Install the required packages using pip:

bash Copy code pip install pandas numpy matplotlib PyQt5 scikit-learn Update the file path in the code to point to your dataset (grades.csv).

Usage Run the application using the following command:

bash Copy code python grade_predictor.py Enter the hours spent per week, final grade percentage, and professor's name in the respective input fields.

Click the "Submit" button to append the data to the CSV file and update the plot.

The scatter plot will show the actual grades, the regression line, and the user's predicted grade based on their input.

Code Overview Main Components Data Loading: The application reads the dataset from a specified CSV file using Pandas. Gradient Descent Functions: Implements functions to compute the loss and update the slope (m) and intercept (b) parameters using gradient descent. PyQt5 GUI: The GUI is built using PyQt5, featuring input fields, labels, and a matplotlib canvas for plotting the regression results. Plotting Functionality: Visualizes the linear regression model and user predictions in real-time. License This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments Inspired by linear regression and machine learning concepts. Thanks to the developers of PyQt5, Matplotlib, and other libraries that made this project possible.

About

This application/website Predicts a the user grade depending on factors submitted or compares grades to other user grades.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages