## 3 Materials and Methods
### Proposed Methodology  
To attain better results, abundant experiments have demonstrated a strong inclination towards aggregated machine learning models. These models, which integrate multiple classifiers, consistently exceed single algorithms, rendering them a popular and effective option. Accordingly, this research adopts an ensemble approach to predict students' academic performance. As depicted in Figure 2, our proposed ensemble model integrated two deep learning models: CNN and FCN. Research is performed with an e-learning dataset in three distinct experiments. (1) Using the 1D raw data with conventional and deep learning approaches;  
(2) Using the transformed 2D data with deep learning methods;  
(3) Using the transformed 2D data with ensemble learning methods. For the first experiment, the whole features were used to predict academic outcomes. In the second experiment, we applied four different text-to-image transformation methods--Pixel Representation (PR), Gramian Angular Field (GAF), Sine Wave Transformation (SWT), and Recurrence Plot (RP)--to convert the original features into images, resulting in four distinct types of transformed image. Each student had four images generated using different transformation methods, resulting in a total of 1304 images. Classification experiments were conducted separately on different kinds of images using individual CNN and FCN models. For the third experiment, an ensemble learning approach was adopted, integrating the CNN and FCN models into a framework. The original features were transformed into images using the four aforementioned text-to-image methods and fed into the CNN model for training, while the raw features were directly input into the FCN model. This ensemble model effectively leveraged both the initial features and the extracted features from the transformed images. We introduce an innovative ensemble learning architecture that integrates CNN and FCN for student performance prediction in Figure 3. The architecture comprises three main layers: data preprocessing, feature extraction, and ensemble prediction. In the preprocessing layer, categorical features are encoded using Label Encoder, and class imbalance is addressed through SMOTE oversampling. The feature extraction layer operates through two parallel paths: (1) a transformation of raw data into recurrence plots, which are then processed by a CNN with two convolutional layers (32 and 64 filters) followed by max-pooling and fully connected layers, and (2) the direct processing of numerical features through an FCN with two hidden layers (64 and 32 neurons). The ensemble prediction layer combines the outputs from both networks through a concatenation operation, followed by a final fully connected layer with sigmoid activation for classification. This model is executed using cross-entropy loss and an Adam optimizer at a learning rate of 0.001, incorporating  
Figure 2: The main process of our experiment. dropout (0.5) for regularization. The training process implements early stopping with a patience of 10 epochs to prevent overfitting. In general, the CNN is employed to process student data that has been transformed into image format. This approach leverages the CNN's capability to effectively extract patterns from images that correlate with student behavior. The FCN class defines a simple fully connected network designed to process the original numerical feature data. The FCN directly handles the raw student features, serving as a complement to the image features extracted by the CNN. Algorithm 1 presents a detailed step-by-step representation of the proposed ensemble model. Additionally, a concise pseudocode representation is provided below, illustrating the algorithm used to integrate the CNN and FCN for classifying students' academic performance into pass and fail categories. ```
Require: Training data \(D=\left\{(X_{i},y_{i})\right\}_{i=1}^{N}\), where \(X_{i}\) is the input feature vector, and \(y_{i}\) is the target classes. Require: Ensemble Model EnCF combining CNN with FCN.