# Predicting Student Academic Performance by Means of Associative Classification
## 3 Materials and Methods
### Data Acquisition and Preparation  
Learning Management Systems are nowadays able to acquire, collect, and store data related to a variety of different student-related data. According to the classification given in [6], we may categorize the collected data features into the following categories:  
1. **Student-specific characteristics**, e.g., gender, age, ethnicity, high school type, standardized scores, current credit load.
2. **Student's engagement indicators** customized to the course under analysis, e.g., course satisfaction, frequency of logins to online portals, frequency of course materials' accesses and downloads, frequency of video lectures' accesses and downloads, number of discussions posted.
3. **Assessment scores**: result of the entry test, grade earned in the previous exams.  
In the proposed methodology the values of all the potentially relevant data features are acquired, collected in a unique repository (independently of their corresponding category), and stored into a relational dataset.  
A relational dataset consists of a set of records, where each record is a set of items. In our context, items are pairs _(feature, value)_. _feature_ is a textual description of the student-related characteristics, while _value_ is the corresponding value taken by the feature. More formal definitions of item and relational dataset follow.  
Definition 1: Item. Let \(f_{i}\) be a label, called feature, which describes a peculiar student-related characteristics. Let \(\Omega_{i}\) be the discrete domain of feature \(f_{i}\). Each pair \((f_{i},value_{i})\), where \(value_{i}\in\Omega_{i}\), is an item.  
To deal with continuous attributes, the domain is discretized into intervals, where intervals are mapped into consecutive positive integers. For example, (_Entry test result_, _From 70 to 85_) is an item, which indicates that the grade earned by the student at the entry test is between 70 and 85.  
Definition 2: Relational dataset. Let \(\mathcal{F}=\{f_{1},f_{2},\ldots,f_{n}\}\) be a set of features and \(\Omega=\{\Omega_{1},\Omega_{2},\ldots,\Omega_{n}\}\) the corresponding domains. A relational dataset \(D\) is a set of records, where each record \(r\) is a set of items and contains at most one item for each feature in \(\mathcal{F}\).  
For classification purposes, a feature (hereafter denoted as _class_) is selected as prediction target. Hereafter, we will consider as class the success rate of the upcoming exam.  
Definition 3: Labeled relational dataset. Let \(D\) be a relational dataset and \(\mathcal{F}=\{f_{1},f_{2},\ldots,f_{n}\}\) its corresponding feature set. Let \(f_{n}\in\mathcal{F}\) be the class and let \(\Omega_{n}=C\) be the class domain. For each dataset record \(r_{i}\) such that \(r_{i}\in D\), let \(c_{i}\in C\) be its class value. \(D\) is a labeled relational dataset.  
A record \(r\in D\) for which the class value is known is called _training (labeled) record_. Conversely, a record \(r_{t}\in D\) for which the value is unknown is called _test (unlabeled) record_.  
Table 1 reports an example of labeled training dataset whose records are related to different students of the Mathematical Analysis course at the same time point. Notice that the dataset contains both time-invariant features, e.g., the grade of the entry test (e.g., 65 over 100), and time-dependent ones, e.g., the number of accessed video-lectures). To predict the students' success rates at a given time point, we can train the classifier on the running example dataset (excluding student ids) by setting as class the _success rate_ feature.