Rafiq
Multi-Indicator Prediction of Academic Performance in Online Learning via Feature-Selected Hybrid Modeling
Jamal Eddine Rafiq*, University of Hassan II Casablanca, Morocco
Abdelali Zakrani, University of Hassan II Casablanca, Morocco
Nouh Said, University of Hassan II Casablanca, Morocco
https://doi.org/10.9743/JEO.2026.23.2.16
Abstract
With the widespread adoption of online learning platforms, accurately predicting learners’ academic performance has become a critical challenge for enhancing personalized learning. Traditional models often fail to incorporate complex emotional and social factors, which limits their predictive power. This study proposes a robust hybrid predictive model that integrates feature selection through random forests and multiple regression and effectively handles 42 features across six types of indicators: cognitive, emotional, social, normative, contextual, and demographic. Using data collected from three distinct online platforms, our model achieves a high prediction accuracy (R² = 0.9372) and outperforms conventional machine learning approaches. The results demonstrate that combining explicit and implicit learner traces significantly improves the model’s capability to capture multidimensional learner behavior. However, challenges such as data heterogeneity, potential overfitting, reliance on indirect emotional measures, and limited generalizability to other platforms remain. This work provides a meaningful advancement in academic performance prediction and lays a foundation for developing more interpretable and scalable models in digital education contexts.
Keywords: academic performance prediction, hybrid machine learning, online learning, feature selection, learner traces, random forests, multiple regression
*Corresponding Author: rafiq.je@gmail.com
---------- Grouped Links ---------
numOfValidGroupedLinks: 1
Download Article: https://www.thejeo.com/archive/archive/2026_232/26rea0005_may_27_jeo_rafiqpdf
----------------------------------
-------------- Links -------------
numOfValidLinks: 0
----------------------------------
this.updated: True
links.count: 0
obj.hasPermission(enums.PermissionVerb.Edit): False
numOfValidLinks: 0
linksJSON.groups.count: 1
numOfValidGroupedLinks: 1
numOfValidGroupedLinks -> numOfLinksToDisplay: 1
numOfLinksToDisplay = 1
this.layout = 1
---------- Grouped Links ---------
numOfValidGroupedLinks: 0
----------------------------------
-------------- Links -------------
numOfValidLinks: 3
$url -- $title$url -- $title$url -- $title----------------------------------
this.updated: False
links.count: 3
obj.hasPermission(enums.PermissionVerb.Edit): False
numOfValidLinks: 3
linksJSON.groups.count: $linksJSON.groups.count
numOfValidGroupedLinks: 0
numOfLinksToDisplay = 3
this.layout = 1
