Skip to content

rokotric/GradePred_deployed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Grade Prediction Test

Abstract

Education has vital and increasing importance almost for all countries in order to accelerate their development. Well-educated persons provide more benefits to their countries and for that reason, classification of students’ performance before they enter exams or taking courses is also gained an importance. Improvement of education quality must be performed during the active semester to improve students’ personal performance to response this expectation. To provide this, some of the main indicators are students’ personal information, educational preferences and family properties. In this paper, artificial intelligence techniques are applied to the questionnaire results that consists these main indicators, of three different courses of two faculties in order to classify students’ final grade performances and to determine the most efficient machine learning algorithm for this task. Several experiments are performed and results suggests that Radial-Basis Function Neural Network can be used effectively for this and helps to classify student performance with accuracy of 70%–88%.

The data was collected from the Faculty of Engineering and Faculty of Educational Sciences students in 2019. The purpose is to predict students' end-of-term performances using ML techniques.

Code Explanatory

This is how to make the models and prediction. In this project we'll be using Flask as our bridge to connect python source and the web app. In App.py file started of by importing all necessary package for our project.

from flask import Flask, render_template, request, redirect
import numpy as np # math function for python
import pandas as pd # machine learning library
from sklearn.tree import DecisionTreeClassifier 

There are a total of 31 data(column), in this App we'll only use 7, which will be our input for predicting the output(grade).

age = request.form['age']
sex = request.form['sex']
graduate = request.form['graduate']
scholarship = request.form['scholarship']
artsport = request.form['artsport']
hours = request.form['hours']
attend = request.form['attend']
gpa = request.form['gpa']

This is the machine learning part where we started of by reading the data and deciding the data(columns) to use for prediction. The model for this project are all already turned to numbers and so we'll adapt to it.

dataset = pd.read_csv("csv/DATA.csv", delimiter=";")
X = dataset[['1', '2', '3', '4', '6', '17', '22','29']].values
y =  dataset['GRADE'].values       

from sklearn.model_selection import train_test_split
X_trainset, X_testset, y_trainset, y_testset = train_test_split(X, y, test_size=0.2, random_state=3)

Model Devition Tree

drugTree = DecisionTreeClassifier(criterion="gini", max_depth = 10)
drugTree.fit(X_trainset, y_trainset)

We've listed the data for prediction input and here we'll take the corresponding data to process it.

x_new = np.array((age, sex, graduate, scholarship, artsport, hours, attend, gpa))
x_new = np.reshape(x_new, (1, -1))

predTree = drugTree.predict(x_new)

output = predTree[0] # prediction output would be stored here

Related Links

About

Final Data Mining : Grade Prediction

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published