This is a web based elective course recommender system implemented with flask and Sklearn
The Project is a case study for the Department of Computer Science, University of Nigeria Nsukka. This project involves two part, the first part deals with the selection of Area of Specialization for a Masters student, this is done by asking series of questions and then a ranking system is used to generate an area of specializtion from the persons score.
This is done to analyse the previous records of students in the selected area of specialization and a pie chart is shown to the user to give a detailed anaysis of the rate of failure to success in the area of specializtion selected.
Below is a screenshot of a course clustered of past sudents record for a compulsory course in an Area of sepcialization. The cluster shows the performance of students in their test to exam scores.
The second part of the project has to do with the Selection of elective courses in the preferred area of specialization. Here, the data is binned and the courses are ranked based on the model decision trees which was evaluated and then the top four courses are selected.
The models used for training are:
- Decision Trees
- Support Vector Machine (Linear and Kernel)
- K-Nearest Neighbour
- Naïve Bayes
- Logistic Regression
This is a way of evaluating our models for the best model to be used for our predictions, A basic confusion matrix is shown below
Predicted Class | |||
---|---|---|---|
Class 1 | Class 0 | ||
Actual Class | Class 1 | True Positive (TP) | False Negative (FN) |
class 0 | False Positive (FP) | True Negative (TN) |
For this project this is the Confusion matrix below
Evaluation Metrics | Models | |||||
---|---|---|---|---|---|---|
Linear SVM | Kernel SVM | Decison Trees | Logistic Regression | Naïve Bayes | K-Nearest Neighbours | |
Accuracy | 93.307% | 97.633% | 99.409% | 37.008% | 99.409% | 99.213% |
Precision | 93.307% | 97.633% | 99.409% | 37.008% | 99.409% | 99.213% |
Recall | 0.741 | 0.783 | 0.912 | 0.147 | 0.912 | 0.906 |
F1 Score | 0.7 | 0.74 | 0.902 | 0.093 | 0.902 | 0.896 |
Here the Admin creates the students as uts assumed that each student is registered for the session No Registration was performed.
The following below are the task list:
- Login
- Update Profile
- Online Quiz
- Admin Dashboard
- Create Users
- Delete Users
- Regex matching for Registration Number
- Online Prediction
- Online viewing of pie charts for clustered analysis
- Validation Emails
- saving individual scores after each predictions for personalised performance anyalysis
- Admin tracking students preferences
- First make sure you run database.py first to create a database file
- Secondly make sure the "run_fist_time.txt" is empty,do not delete
- then run python run.py in he root folder