# Predicting Student Academic Performance by Means of Associative Classification
## 3 Materials and Methods
### Associative Model Learning  
Classification of relational data entails first generating a model from a set of (labeled) training records and then applying it to a set of (unlabeled) test records. Many different classification approaches have been proposed in literature (e.g., Bayesian classifiers, decision trees, Support Vector Machines (SVMs), Neural Networks, and associative classifiers). A relevant drawback of many classification techniques (e.g., Bayesian classifiers, SVMs, Neural Networks) is the limited explainability of the generated models. Predicting student academic performance by using non-explainable models entails fully trusting the prediction outcome, because the patterns used to assign the student's success rate for a given course are unknown [38]. Decision trees and associative classifiers are the two main classes of explainable classification models. Users could explore these models in order to gain insights into classifiers' decisions. Decision trees are popular classification techniques based on tree-based structures built on the training dataset [39]. Decision trees perform a greedy search for rules by heuristically selecting the most promising features. Such greedy (local) search may discard important rules. Associative classifiers, on the other hand, perform a global search for rules satisfying some quality constraints (i.e., minimum support) [40]. More specifically, as discussed in [41], decision trees suffer from the problem of adaptability since they could take decisions based on small samples of data and, therefore, the final classifier could not be representative of the overall trends. Associative classification overcomes the aforesaid problem by focusing on the features of the given test instance, thus increasing the chance of generating more rules that are useful for classifying the test instance. Association rules represent strong associations between sets of feature values and the class. Rules are extracted, filtered, and ordered prior to be included in the classification model. In this work we apply the rule extraction and selection methodologies adopted by the \(L^{3}\) state-of-the-art algorithm [15]. A more detailed description of the rule extraction and evaluation steps is reported below. **Association rules. ** Let \(\mathcal{D}\) be a relational dataset (see Definition 1) and let \(X\) be an arbitrary set of items in \(\mathcal{D}\). An _itemset_ is a set of items, i.e., a combination of feature values occurring in a dataset. In the context of relational data, \(X\) is an itemset if all of its items belong to distinct features. Recalling the running example in Table 1, ((_Fraction of video-lectures accessed_, \(<\)5%), (_Success rate, fail_)) is an itemset representing the co-occurrence of two items (related to different features) in the source dataset. It indicates that the students who accessed less than 5% of the video-lectures of the course failed the exam. Itemsets are characterized by their support value [37]. It indicates the fraction of records in the source dataset in which all the items in the itemset co-occur. For example, ((_Entry test_, [60; 70]), (_Success rate, fail_)) has support equal to 33% in the running example dataset, because the two items co-occur in two records out of six. An association rule is an implication \(X\to Y\), where \(X\) and \(Y\) are disjoint itemsets. A more formal definition follows. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Student** & **Entry Test** & **Accessed Video** & **Success Rate** \\
**id** & **Grade** & **Lectures (\%)** & **(Class)** \\ \hline
101010 & [60; 70] & \(<\)5 & fail \\
202020 & [80; 95] & [10; 20] & pass \\
303030 & [60; 70] & \(<\)5 & fail \\
404040 & [70; 85] & [30; 40] & pass \\
505050 & [60; 70] & [30; 40] & fail \\
606060 & [70; 85] & [80; 90] & pass \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Running example. Definition 4: **Association rule. **_Let \(X\) and \(Y\) be two itemsets in \(\mathcal{D}\) such that \(X\cap Y\)=\(\emptyset\).