## 3 Purposed Approaches
### Collaborative Filtering  
The clustered data gathered from the AIS training process are now used to predict the scores of students of the testing dataset; the results will then be compared with the actual scores. The scores the students (antigen) received in the courses in their first two years are compared with the scores received by the clustered students (antibody networks) in the trained data and the mean affinity values are calculated. The student cluster that has the highest mean affinity with the antigen student (denoted by Abtop) is used for the prediction of scores for the particular antigen via a prediction equation. This procedure is repeated for all the antigens in the testing dataset. Pseudo-Code 2 describes the pseudo-code for the collaborative filtration process. ```
1:Ag_test = testing database #contains the antigens used for testing
2:Ab_trained = trained dataset #contains the antibody networks of trained data
3:FOR _i_= 1:size(Ag_test)
4:FOR \(j\) = 1:number of clusters
5:Calculate the mean affinity of Ag_test(_i_) with cluster (_j_) in Ab_trained;
6:Max_affinity = Stored value of the maximum mean affinity;
7:Abtop = Stored cluster with maximum mean affinity;
8:ENDFOR
9:FOR \(k\) = 1:size(Ag_test)
10:IF Course(k) is taken in year 3 or 4
11:Predicted_grade = round(Prediction_equation(Ag,Abtop,k));
12:Error = absolute difference of Ag_test(_i_,_k_) and predicted_grade;
13:Modify the confusion matrix based on prediction vs. outcome (add one to the counter for true positive, false positive, false negative or true negative depending on the scenario);
14:END IF
15:END FOR
16:END FOR

### The Prediction Equation

To predict the grades of students in the courses not taken using their past data and the cluster they have maximum affinity with, the following equation is used:

\[P_{Ag,c}=\overline{R_{Ag}}+\frac{\sum_{Ab=1}^{k}\text{Affinity}_{Ag,Ab}\times(R_{ Ab,c}-\overline{R_{Ab}})}{\sum_{Ab=1}^{k}\left|\text{Affinity}_{Ag,Ab}\right|} \tag{3}\]

where \(P_{Ag,c}\) is the predicted grade of student \(Ag\) in course \(c\), \(R_{Ag,c}\) is the grade of student \(Ag\) in course \(c\), and \(k\) is the number of students in the cluster Abtop who have taken course \(c\). The same affinity function is used in the prediction equation as was used in the AIS clustering stage. The affinity acts as a weight, such that more weight is given to the students with higher similarity to the antigen students for the prediction of their scores in a course. As the grades of students are natural numbers, the predicted value we obtain from the predicted equation is rounded off to make the results more meaningful and accurate. ## 4 Experimental Results

This research was undertaken by the Nature Inspired Learning and Knowledge Discovery Laboratory of the Information Management Department, Yuan Ze University (YZU), and uses the student and professor information datasets of the year 1995-1999; 22,262 students took at least one of the 3465 courses offered by YZU during this span of time. Only undergraduate students' information was considered for the recommendation system. The results were tabulated and tested for four recommendation scenarios. 1. Recommend courses where student receives Grade A or B (Numeric 4 or 3). 2. Recommend courses where student receives minimum Pass Grade (Grade C). 3. Recommend courses where student receives above average course grade. 4. Recommend courses where student receives above his/her average grade. We also compared these scenarios when the minimum professor rating filter was applied. The results of these scenarios were generated using KP and cosine similarity coefficients, and compared with those where the mean grade of student or course, or a regression combination of the two were used, without any collaboration between student data. The collaborative filtering results showed much improvement over the non-collaborated techniques. For statistical validation of the recommended system, a five-fold cross validation or rotational validation system was used.