## 3 Purposed Approaches
### Collaborative Filtering
Here, our data were segregated into five parts, with one part used for validation of the predictive recommendation model built from the other four parts. This process was then iterated until all five parts were exhausted. Using this technique, the utility of a limited dataset was maximized to arrive at more accurate results with reduced variability. ### Testing to Find Appropriate Threshold Values

The key tuning parameter in our recommendation system is the threshold value. 1. For the Karl Pearson (KP) and cosine similarity clustering functions, the threshold was incremented by a step size of 0.1, from 0 to 0.8, and the resulting predicted matrix was tested against the actual outcomes. The test was conducted two ways. The comparison of results is shown in Figure 4 and the Figure 5 is shown the comparison of accuracy. 2. For the weighted Karl Pearson and weighted cosine similarity clustering functions, the threshold was incremented by a step size of 0.005, from 0 to 0.4, and the results compared. The comparison of results is shown in Figure 6 and the Figure 7 is shown the comparison of accuracy. For the confusion matrix, correctly identifying a student will receive a grade below 3 as the true positive outcome of the experiment. The student receiving a grade greater than or equal to 3 is considered as the true negative outcome. Accuracy is the sum of the true cases/total instances. Alpha error (or Type 1 error) is the fraction of times the proposed system incorrectly assessed that the student would get a grade less than 3 in a course. Beta error (or Type 2 error) is the fraction of times the system incorrectly assessed that the student would get a grade greater than or equal to 3 in a course. After first filtering the students in the Department of Chinese Linguistics (Undergraduate Program), the grades for a test dataset were predicted using a training dataset and the five-fold test was applied to find the mean error. Mean absolute error was calculated as the sum of the absolute value of differences between the predicted and actual grades divided by the sum of total instances tested. A lower value of mean error rate (MAE) denotes higher accuracy. \[\text{MAE}=\frac{\sum_{c=1}^{C}|P_{Ag,c}-t_{Ag,c}|}{C} \tag{4}\]

\(P_{Ag,c}\) is the predicted grade of student \(Ag\) in course \(c\), \(t_{Ag,c}\) is the actual rating of \(Ag\) in \(c\), and \(C\) is the total number of instances tested. Table 6 shows that the lowest Mean Average error is 0.5719 for the cosine weighted similarity with a threshold of 0.005. It also has the most accuracy and least alpha and beta error values. Moreover, the variation of the graph of the MAE of KP weighted and cosine weighted vs. threshold shows that the MAE for the cosine weighted stays low for a wider range of threshold, from 0 to 0.015, while the value of the MAE shoots up almost immediately. Similar results are true in regard to the accuracy. This shows that the cosine function seems to provide greater stability for different student data for a fixed threshold value as compared to the KP function. This hypothesis will be tested later. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Affinity Function** & **Least MAE** & **Threshold Value** & **Acc** \\ \hline KP & 0.6030 & 0 & 0.8014 \\ Cosine & 0.5744 & 0.3 & 0.8146 \\ KP Weighted & 0.5954 & 0 & 0.8031 \\ Cosine Weighted & 0.5719 & 0.005 & 0.8169 \\ \hline \hline \end{tabular}
\end{table} 
Table 6: Comparing the results using different affinity functions for clustering and prediction. Figure 4: Comparison of MAE value using KP correlation vs. cosine similarity. Figure 5: Comparing accuracy for KP vs. cosine functions. Figure 6: Comparison of MAE using weighted KP correlation vs. weighted cosine similarity. Figure 7: Comparing accuracy for Weighted KP (blue) vs. Weighted cosine functions (green). The Confusion Matrix for most accuracy using regression is shown in Table 7.

The highest accuracy is at 76% with weight = 0.45 for course average compared to our model's accuracy at 82.04%.