# Clustering Analysis for Classifying Student Academic Performance in Higher Education
## 3 Methodology
### Data Preparation  
**Data Acquisition. ** The dataset used in this study was obtained from the Policy Planning and Research Division, Ministry of Higher Education (MOHE), consisting of 248,568 students' records such as demographic, co-curricular activities, awards, industrial training, and employment data with 53 attributes. All of them were undergraduate students from 20 public universities who had dropped out or graduated from the intake year of 2015 to 2019. **Data Pre-processing. ** This method focusses on transforming the dataset to ensure it is suitable for the clustering algorithms and the data mining tool. As depicted in Figure 1, six pre-processing techniques are involved: data integration, data filtering, data cleaning, attribute generation, data transformation, and attribute selection. Data integration was carried out at the start of the process, with six source files combined into a single dataset. The dataset was filtered where we only chose Malaysian citizens whose family income attribute ranges from RM 1 to RM 4000, which corresponded to the B40 group. We also consider full-time students for study mode attributes and undergraduate/first-degree students for the level of study attributes. Then, data cleaning was carried out to clear the attributes with too many missing values, such as postcode and parliamentary attributes with more than 30,000 missing values. The attributes that contain some missing values are replaced manually with specified values. Repeated and redundant attributes also have been removed from the dataset. Besides that, two attributes have been generated: registration age based on the date of birth and date of registration, and the number of activities based on the count of student activities. From a total of 53 attributes, only 16 attributes are left, and Table 2 shows the list of the attributes with its description. Figure 1: The framework for the B40 clustering model. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**No.** & **Attributes** & **Values** & **Data Type** \\ \hline
1 & Gender & Male & Nominal \\  & & Female & \\ \hline  & & Below 19 & \\
2 & Registration Age & 20 & Nominal \\  & & Above 21 & \\ \hline
3 & Marital Status & Single & \\  & & Married & Nominal \\ \hline  & & Northern & \\  & & Central & \\
4 & Place of Birth & Southern & Nominal \\  & & East Coast & \\  & & East Malaysia and others & \\ \hline  & & Below RM2000 & \\
5 & Income Groups & RM2001-3000 & Ordinal \\  & & RM3001-4000 & \\ \hline  & & SMK & \\  & & SBP and MRSM & \\
6 & Secondary School & SM Agama & Nominal \\  & & SM Teknik & \\  & & Others & \\ \hline  & & SPM, STPM and others & \\
7 & Entry Qualification & Matriculation and foundation programme & Nominal \\  & & Diploma & \\ \hline  & & Scholarship & \\
8 & Sponsorship & Sels-funded & Nominal \\  & & Loans & \\ \hline
9 & Residence & Resident & \\  & & Non-resident & Nominal \\ \hline
10 & University & Research Universities & \\  & & Comprehensive Universities & Nominal \\  & & Focussed Universities & \\ \hline  & & Education & \\  & & Literature and Humanities & \\  & & Social Sciences, Business and Law & \\
11 & Field of study & Science, Mathematics and Computer & \\  & & Engineering, Manufacturing and Construction & \\  & & Agriculture and Veterinary & \\  & & Health and Welfare & \\  & & Services & \\ \hline  & & Below 2.00 & \\
12 & CCPA & 2.01–2.99 & \\  & & 3.00–3.49 & Ordinal \\  & & & 3.50–4.00 & \\ \hline  & & None & \\
13 & Industrial Training & Pass & Nominal \\  & & Failed & \\ \hline  & & None & \\  & & 1 & \\
14 & Number of Activities & 2 & \\  & & 3 and 4 & Ordinal \\  & & 5 to 9 & \\  & & Above 10 & \\ \hline  & & Working & \\
15 & Employment Status & Unemployed & Nominal \\  & & Further Study & \\ \hline
16 & Drop-out Status & Drop-out & \\  & & Graduate & Nominal \\ \hline \hline \end{tabular}
\end{table} 
Table 2: List of attributes and description. Most machine learning algorithms generally require numeric input and output variables [32; 33; 34; 35; 36; 37].