លំហសិក្សាធិការកម្ពុជា លំហសិក្សាធិការកម្ពុជា V1.0
ចូល ចុះឈ្មោះ

Student Performance Prediction Using Machine Learning

អ្នកចូលរួម
គ្រូណែនាំ: សេក សុជាតិ
មូលសង្ខេប / Abstract

Student performance prediction is an important application of machine learning that can help educational institutions identify factors affecting academic achievement and provide timely support to students. This study, titled “Student Performance Prediction Using Machine Learning,” aims to develop and evaluate machine learning models for predicting students’ academic performance based on academic, personal, and learning-related factors. The study utilizes the open-source UCI Student Performance Dataset, collected from secondary school student reports, supplemented with custom-generated mock features representing online Learning Management System (LMS) engagement. The input features include age, gender, attendance, study hours, previous scores, sleep hours, tutoring, internet access, parent education, extracurricular activities, study time, past class failures, absences, and LMS login frequency. The study considers two possible target variables: final grade, represented as a continuous score from 0 to 100, and student status, classified as Pass or Fail. Four machine learning algorithms—Logistic Regression, Decision Tree, Random Forest, and Support Vector Machine (SVM)—will be implemented and compared to determine their predictive performance. The models will be evaluated using appropriate performance metrics to identify the most effective approach for student performance prediction. The expected outcome is to demonstrate how machine learning can utilize student-related data to predict academic outcomes and support early identification of students who may require additional academic assistance. This research contributes to the use of data-driven techniques in education and provides a foundation for developing more effective student monitoring and academic support systems.

ពាក្យគន្លឹះ

1. Introduction

1.1 Background of the study

Education plays a vital role in developing human resources and improving individual and social outcomes. However, student academic performance can be affected by many interconnected factors, including attendance, study time, previous academic achievement, family background, access to learning resources, and personal habits. The project presentation identifies poor attendance, limited study time, family background, and lack of learning resources as important practical concerns. It also notes that traditional evaluation often identifies poor performance only after examinations, making timely intervention difficult.

Machine learning provides an opportunity to analyze historical student information and learn patterns associated with academic outcomes. Instead of relying only on post-examination evaluation, a predictive model can be used as an early-warning mechanism. The proposed project therefore focuses on developing and comparing machine learning models that can predict student performance from available student characteristics.

The project is designed not only as a machine learning experiment but also as a simple prediction application. The planned technology stack combines Python and Scikit-learn for machine learning with FastAPI as a backend and Vue.js as a frontend. This architecture is intended to make the resulting model accessible through a practical user interface.

1.2 Problem Statement

In many educational settings, student performance is evaluated primarily through examinations and periodic assessments. Students who are falling behind may therefore be recognized only after their performance has already declined. The project presentation identifies the absence of an early-warning system and the fact that multiple factors influence academic performance as central challenges.

The problem addressed in this research is how to use available student information to predict academic performance accurately enough to support earlier identification of students who may need additional assistance. A further challenge is determining which machine learning algorithm performs best for the selected dataset and identifying which input factors are most informative for prediction.

1.3 Research Objectives

  1. Collect and prepare student performance data for analysis.
  2. Analyze student characteristics and identify factors associated with academic performance.
  3. Preprocess numerical and categorical variables for machine-learning use.
  4. Train and compare Logistic Regression, Decision Tree, Random Forest, and Support Vector Machine models.
  5. Evaluate model performance using accuracy, precision, recall, and F1-score.
  6. Identify important predictive factors associated with the selected model.
  7. Develop a simple prediction application using Vue.js, TypeScript, FastAPI, Python, and Scikit-learn.
  8. Test the complete prediction workflow and document limitations and future improvements.

1.4 Significance of the study

The project has potential significance for several groups. Teachers may use prediction as supplementary evidence when deciding which students deserve closer attention. School administrators may use aggregated model outputs to support academic monitoring and resource planning. Students and parents may use the information to understand potential performance risk. Educational researchers may use the project as an example of an end-to-end supervised learning workflow.

Stakeholder

Potential Benefit

Teachers

Additional evidence for earlier identification and intervention.

School administrators

Support for academic monitoring and resource planning.

Students

Awareness of potential academic risk and learning factors.

Parents

Supplementary information for supporting learning at home.

Educational researchers

Example of educational data mining and comparative ML modeling.

1.5 Scope of the study

The study focuses on supervised classification for student performance prediction. The proposed input variables are age, gender, attendance, study hours, previous scores, sleep hours, tutoring, transportation, internet access, parent education, extracurricular activities, and family income when available. The proposed algorithms are Logistic Regression, Decision Tree, Random Forest, and SVM. The study covers data acquisition, cleaning, EDA, feature engineering, model development, tuning, evaluation, comparison, and integration into a simple prediction application.

The scope does not include causal inference, automatic educational decision-making, or a claim that the model can measure a student’s ability in a definitive manner. The final target definition must be selected before model training and used consistently throughout the experiment.

1.6 Limitations of the study

  • The public dataset may not represent all schools, grade levels, or educational contexts.
  • Some proposed variables may not be available in the final downloaded dataset.
  • A categorical target may simplify a more complex continuous academic outcome.
  • Class imbalance can make accuracy alone insufficient for model selection.
  • Model performance depends on data quality, preprocessing, feature definitions, and evaluation strategy.
  • Feature importance represents predictive association rather than causation.
  • The current project materials do not contain completed empirical model measurements.

1.7 Target users and beneficiaries

Target User

Use of the Proposed System

Teachers

Review predicted performance and identify students for possible support.

School administrators

Monitor patterns and compare model performance.

Students

Understand potential performance risk.

Parents

Use information as supplementary support for learning decisions.

Educational researchers

Study predictive modeling and educational data mining.


II. Literature Review or Related Work

This section establishes the conceptual basis for predicting student performance with machine learning. The discussion follows the scope of the project presentation and focuses on the role of student-related features, classification, and comparison of several commonly used supervised learning algorithms.

2.1 Student Academic Performance

Student academic performance is a multidimensional outcome. It can reflect prior achievement, learning behavior, attendance, access to resources, personal circumstances, and support received from family or educational institutions. The project therefore does not treat performance as a result of a single variable. Instead, it proposes combining multiple student characteristics as input features for prediction.

2.2 Factors Affecting Student Performance

The proposed feature set includes both demographic and learning-related variables. Attendance and study hours represent learning engagement, while previous scores provide information about prior achievement. Sleep hours and extracurricular activities represent lifestyle and time allocation. Tutoring, internet access, parent education, transportation, and family income where available represent aspects of educational support and access to resources.

Feature

Type / Description

Expected Relevance

Age

Numerical

Student demographic characteristic

Gender

Categorical

Demographic characteristic

Attendance

Numerical

Learning participation

Study Hours

Numerical

Learning effort

Previous Scores

Numerical

Prior academic achievement

Sleep Hours

Numerical

Lifestyle factor

Tutoring

Categorical

Additional academic support

Transportation

Categorical

Access / daily routine factor

Internet Access

Categorical

Access to learning resources

Parent Education

Categorical

Family educational background

Extracurricular Activities

Categorical

Time allocation / engagement

Family Income

Numerical/Categorical

Resource availability, if available

2.3 Machine Learning for Student Performance Prediction

Machine learning can be applied to educational datasets to discover patterns and construct predictive models. In a supervised learning setting, the algorithm learns a relationship between input features and a known target variable. For this project, the target is intended to represent student performance, with the presentation specifying outputs such as High, Medium, Low or Pass/Fail.

Comparing several algorithms is important because different models make different assumptions about the relationship between features and outcomes. The proposed study therefore compares Logistic Regression, Decision Tree, Random Forest, and Support Vector Machine.

2.4 Logistic Regression

Logistic Regression is a supervised classification method that estimates the probability of a categorical outcome from a set of input variables. It provides a relatively interpretable baseline and can be useful for understanding how changes in input features are associated with the predicted class. In this project, Logistic Regression provides a baseline against which the other proposed classifiers can be compared.

2.5 Decision Tree

A Decision Tree classifies observations through a sequence of decision rules based on feature values. Its tree structure can be relatively easy to interpret because a prediction can be traced through a series of splits. This makes it useful for an educational prediction system where understanding the decision process may be valuable.

2.6 Random Forest

Random Forest is an ensemble method that combines predictions from multiple decision trees. By aggregating many trees, it can model nonlinear relationships and interactions between variables while reducing reliance on a single tree. The proposed study includes Random Forest to test whether an ensemble approach can improve predictive performance.

2.7 Support Vector Machine

Support Vector Machine (SVM) is a supervised learning algorithm that seeks a decision boundary capable of separating classes. Depending on the selected kernel and preprocessing, SVM can model complex relationships between features. It is included to provide another classification approach for comparison.

2.8 Research Gap and Motivation

The project is motivated by the practical gap between evaluating performance after examinations and identifying students who may need assistance earlier. Rather than relying on a single indicator, the proposed system combines multiple student characteristics and compares several algorithms. The presentation does not claim that one algorithm is already superior; determining the best-performing model is itself one of the research questions.

2.9 Comparison of candidate algorithms

Algorithm

Role in Study

Strength

Main Consideration

Logistic Regression

Baseline

Simple and relatively interpretable

Linear decision structure

Decision Tree

Interpretable nonlinear model

Rule-based reasoning

Potential overfitting

Random Forest

Ensemble model

Nonlinear patterns and feature importance

Less transparent than one tree

SVM

Margin-based classifier

Flexible decision boundary

Scaling and kernel selection


III. Materials and Methods or Methodology

The methodology follows a supervised machine learning workflow: data acquisition, exploratory analysis and cleaning, feature preparation, model training, model comparison, evaluation, and integration into a prediction interface. The project work plan assigns data acquisition and initial EDA to Week 1, feature engineering and baseline training to Week 2, model tuning and comparison to Week 3, interface construction to Week 4, testing to Week 5, and final presentation and submission to Week 6.

3.1 Research workflow

1. Define the prediction problem and final target variable.

2. Acquire and document the selected dataset.

3. Inspect data types, missing values, duplicates, invalid values, and class distribution.

4. Conduct exploratory data analysis.

5. Clean and preprocess the data.

6. Encode categorical variables and scale features where required.

7. Split the dataset into training and testing subsets.

8. Train Logistic Regression, Decision Tree, Random Forest, and SVM.

9. Tune hyperparameters using a validation strategy on training data.

10. Evaluate final models on the isolated test set.

11. Compare accuracy, precision, recall, and F1-score.

12. Analyze important predictive factors.

13. Save the final preprocessing pipeline and trained model.

14. Expose the model through FastAPI and connect the Vue.js frontend.

15. Test and document the complete system.

3.2 Dataset source and data collection plan

The project presentation proposes using a publicly available dataset from Kaggle and identifies the Student Performance Prediction Dataset as the suggested source. The paper therefore treats the Kaggle dataset as the planned data source. The final experimental paper should report the exact number of observations, class distribution, missing values, and final feature list after the dataset has been downloaded and inspected.

Suggested source identified in the project presentation: Kaggle Student Performance Prediction Dataset.

3.3 Features and Target Variable

The planned input features are age, gender, attendance, study hours, previous scores, sleep hours, tutoring, transportation, internet access, parent education, extracurricular activities, and family income if available. The presentation specifies that the prediction output may be High, Medium, Low or Pass/Fail. The final implementation should select one target definition before training and use the same definition consistently during preprocessing, training, and evaluation.

Category

Variables

Demographic

Age, Gender

Academic / engagement

Attendance, Study Hours, Previous Scores

Lifestyle

Sleep Hours, Extracurricular Activities

Support / access

Tutoring, Internet Access, Transportation

Family background

Parent Education, Family Income if available

Target

High / Medium / Low OR Pass / Fail

 

3.4 Data Preprocessing

Before model training, the dataset should be checked for missing values, duplicated observations, inconsistent category labels, and unsuitable data types. Numerical variables should be converted to appropriate numeric formats, while categorical variables should be encoded for algorithms that require numerical input. Where scaling is required, particularly for SVM and potentially Logistic Regression, scaling should be performed within a training pipeline to avoid data leakage.

The dataset should then be separated into training and testing subsets. The split must be performed before fitting preprocessing transformations so that information from the test set is not used during training.

3.5 Exploratory Data Analysis

Exploratory Data Analysis (EDA) will be used to understand distributions, relationships, class balance, and potential anomalies. Descriptive statistics and visualizations can be used to examine attendance, study hours, previous scores, and other variables in relation to the selected target. The project work plan places initial EDA and cleaning in Week 1.

3.6 Feature Engineering

Feature engineering will prepare the raw variables for machine learning. Categorical variables can be encoded using suitable techniques such as one-hot encoding, while numerical variables can be retained or scaled depending on the algorithm. Feature selection should be guided by the available dataset and the research question concerning which factors most strongly influence performance.

3.7 Proposed Machine Learning Models

Model

Purpose in the Study

Key Consideration

Logistic Regression

Baseline classification model

Interpretable linear decision boundary

Decision Tree

Rule-based nonlinear classification

Interpretability and possible overfitting

Random Forest

Ensemble classification

Nonlinear patterns and feature importance

SVM

Margin-based classification

Scaling and kernel selection

 

3.8 Model Training and Tuning

A baseline version of each algorithm should first be trained using the prepared training data. The models can then be tuned using an appropriate validation strategy, such as cross-validation on the training set. Hyperparameters should be selected without using the final test set. The final test set should be used only for unbiased comparison after model development is complete.

3.9 Evaluation Metrics

For the proposed classification task, the project specifies accuracy, precision, recall, and F1-score as evaluation metrics.

Metric

Purpose

Accuracy

Measures the proportion of correctly classified observations.

Precision

Measures how many predicted positive/class instances are correct.

Recall

Measures how many actual positive/class instances are identified.

F1-score

Balances precision and recall through their harmonic mean.

 

The final paper should report the metric values for each model after training. Since the current project presentation contains proposed methodology rather than completed experimental measurements, this version does not invent numerical results.

3.10 Software, Frameworks, and Development tools

The planned system separates the prediction interface from the machine learning backend. Vue.js is proposed for the frontend, FastAPI for the backend, and Python with Scikit-learn for machine learning. A user enters student information through the frontend. The backend receives the input, applies the same preprocessing used during training, passes the processed data to the selected trained model, and returns the predicted performance category.

Layer

Technology

Role

Frontend

Vue.js

Collect student information and display results

Backend

FastAPI

Expose prediction API and manage requests

Machine Learning

Python + Scikit-learn

Preprocess data, train models, and predict

Development

VS Code

Development and project management

IV. System analysis and design

4.1 System Overview

The proposed system transforms the machine-learning experiment into a practical prediction application. The design separates the user interface, prediction API, preprocessing pipeline, and trained model. This separation supports maintainability and allows the final model to be updated without redesigning the complete application.

4.2 Functional requirements

ID

Requirement

Description

FR-01

Enter student information

User enters the required student features.

FR-02

Validate input

System checks required fields and valid ranges.

FR-03

Submit prediction

Frontend sends structured data to the backend.

FR-04

Generate prediction

Backend preprocesses input and invokes the trained model.

FR-05

Display result

Frontend displays the predicted performance category.

FR-06

Compare algorithms

System presents model performance metrics.

FR-07

Show important factors

System displays feature importance or explanations where implemented.

4.3 Non-Functional requirements

Requirement

Description

Usability

The interface should be understandable to non-technical educational users.

Performance

Normal prediction requests should return efficiently.

Reliability

The same valid input and model version should provide reproducible output.

Maintainability

Frontend, backend, preprocessing, and model components should remain separated.

Scalability

Additional models or features should be addable in future versions.

Security

Student information should be minimized and protected.

Explainability

Predictions should be presented carefully and not as causal judgments.

4.4 Proposed system architecture

Layer

Technology

Responsibility

Presentation Layer

Vue.js + TypeScript

Collect student information and display results

API Layer

FastAPI

Validate requests and call the prediction service

ML Layer

Python + Scikit-learn

Preprocess, train, evaluate, and predict

Data Layer

CSV / selected dataset

Training and evaluation data

4.5 Data flow

Step

Component

Action

Output

1

User

Enter student information

Input values

2

Vue.js

Validate and package input

Structured request

3

FastAPI

Receive and validate request

Validated data

4

Preprocessing pipeline

Encode / scale features

Model-ready vector

5

ML model

Predict class

Prediction

6

FastAPI

Format response

Prediction response

7

Vue.js

Display result

User-facing output

4.6 Machine Learning training pipeline

1. Load the final dataset.

2. Separate input features and target.

3. Split data into training and testing subsets.

4. Fit preprocessing on training data only.

5. Train four candidate classifiers.

6. Tune hyperparameters using the training data.

7. Evaluate final models on the isolated test set.

8. Select and save the final model and preprocessing pipeline.

4.7 Prediction API Design

The FastAPI service is intended to expose a prediction endpoint that accepts a structured representation of the selected student features. The endpoint should validate the request, apply the saved preprocessing pipeline, invoke the selected model, and return the predicted performance category. If probability estimates are exposed, they should be labeled as model probabilities rather than certainty.

4.8 User interface and User flow

The frontend should provide a student-information form corresponding to the final model features. After submission, the system should display the predicted category and, where implemented, a concise explanation of important predictive factors. The interface should avoid language suggesting that the prediction is a definitive judgment.

Stage

User Action

System Response

1. Download

Download standard format

Send request to API

2. Upload

Upload Dataset

post request to API

3. Submit

Click Prediction

Preprocess and predict

4. Result

Review prediction

Display category

5. Analysis

Review factors

Display comparison and important factors

Dashboard (Before Upload Dataset)

Dashboard (After prediction)

V. Results and Evaluation

This section defines the results that should be reported after implementation. The project presentation specifies the expected system outputs but does not provide completed experimental values. Consequently, numerical accuracy, precision, recall, F1-score, confusion matrices, and feature-importance values are intentionally left for insertion after the models are trained and evaluated.

5.1 Dataset Results

The completed study should report the final number of records, the number of input features, target classes, missing-value counts, and the distribution of the target classes. These values should be taken directly from the downloaded and cleaned dataset.

5.2 Model Performance

Model

Accuracy

Precision

Recall

F1-score

Logistic Regression

To be measured

To be measured

To be measured

To be measured

Decision Tree

To be measured

To be measured

To be measured

To be measured

Random Forest

To be measured

To be measured

To be measured

To be measured

SVM

To be measured

To be measured

To be measured

To be measured

 

Result Base on Model Selected

5.3 Model Comparison

The best-performing model should be selected based on the evaluation criteria defined for the final target formulation. Accuracy alone may not be sufficient when class distributions are imbalanced, so precision, recall, and F1-score should also be considered. The final comparison should explain not only which model has the highest score but also whether the difference is meaningful for the intended educational use.

5.4 Important Factors Affecting Performance

The final system is expected to show important factors affecting student performance. For tree-based models, feature importance can provide a direct ranking. For other models, coefficients or model-agnostic explanation methods may be considered. The interpretation must be based on the actual trained model and should not be presented as causal evidence.

5.5 Prediction Application

The planned application should allow users to enter student ID for prediction, and display the resulting performance category. It should also provide a comparison of model performance and show important factors associated with risk prediction. These functions correspond to the expected outputs defined in the project presentation.

VI. Discussion

6.1 Main Findings

The proposed study addresses a practical educational problem: identifying students who may be at risk before poor outcomes become evident through formal examinations. Its main strength is the combination of multiple categories of information rather than reliance on a single performance indicator. Attendance, study hours, previous scores, learning support, access to resources, and other characteristics can collectively provide a richer representation of student circumstances.

The comparison of four different algorithms is also important. Logistic Regression provides a simple baseline, Decision Tree provides an interpretable rule-based model, Random Forest provides an ensemble alternative, and SVM provides a margin-based approach. The comparison can reveal whether a relatively simple model is sufficient or whether a more complex model provides substantially better predictive performance.

However, prediction should not be interpreted as a definitive judgment about a student's ability. A model can identify patterns in historical data, but it cannot establish that a particular factor causes a student's performance. Educational decisions should therefore use predictions as supporting information alongside teacher judgment and direct engagement with students.

6.2 Limitations

Another limitation is that the project presentation does not yet provide completed experimental results. The final empirical conclusions must therefore be based on the actual dataset, preprocessing decisions, trained models, and evaluation results. If the final dataset differs from the planned source or if the target definition changes, the methodology and results should be updated accordingly.

6.3 Threats to validity

Internal validity may be threatened by leakage between training and testing data, repeated tuning against the test set, or inconsistent preprocessing. External validity may be limited if the dataset differs from the target educational population. Construct validity may be affected by the definition of performance categories. These threats can be reduced through an isolated test set, transparent target definitions, reproducible pipelines, and careful documentation.

6.4 Ethical considerations

A student prediction system can affect how learners are perceived. Ethical use therefore requires privacy protection, minimal data collection, transparency about model limitations, and human oversight. Predictions should support educational conversations rather than automatically determine opportunities, interventions, or labels.

6.5 Research contribution

The contribution of this project is an end-to-end educational prediction framework rather than a single algorithm. It connects a public student dataset, feature preparation, comparative classification, evaluation, model interpretation, and a deployable prediction interface. The project can therefore serve as a practical demonstration of how machine learning can move from data analysis to an application while maintaining attention to evaluation and responsible use.

VII. Conclusion and Future Work

This paper presents a proposed machine learning approach for predicting student academic performance using multiple demographic, academic, lifestyle, support, and access-related features. The project is motivated by the need for earlier identification of students who may require academic support. It proposes four classification algorithms—Logistic Regression, Decision Tree, Random Forest, and Support Vector Machine—and evaluates them using accuracy, precision, recall, and F1-score.

The project also extends beyond model training by proposing a simple prediction application using Vue.js, FastAPI, Python, and Scikit-learn. The planned system will allow users to enter student information, obtain a predicted performance category, compare algorithm performance, and examine important factors affecting prediction.

Future work should complete model training and tuning, validate the models on unseen data, investigate class imbalance, and compare performance across alternative target definitions. Additional work could include collecting richer longitudinal student data, integrating actual LMS engagement data rather than mock or unavailable variables, adding explainability features, and conducting user evaluation with teachers or educational administrators. These improvements could make the system more reliable and useful as an educational early-warning tool.

References

[1]     Kaggle. (n.d.). Student Performance Prediction Dataset. Kaggle. Dataset source identified in the Group 13 project presentation: https://www.kaggle.com/datasets/prajwalkanade/student-performance-prediction-dataset.

[2]     Scikit-learn Developers. (n.d.). Scikit-learn: Machine Learning in Python. User Guide and API documentation.

[3]    Breiman, L. (2001). Random Forests. Machine Learning, 45, 5–32. https://doi.org/10.1023/A:1010933404324.

[4]    Cortes, C., & Vapnik, V. (1995). Support-vector networks. Machine Learning, 20, 273–297. https://doi.org/10.1007/BF00994018.

[5]    Pedregosa, F., et al. (2011). Scikit-learn: Machine Learning in Python. Journal of Machine Learning Research, 12, 2825–2830.

Appendix A. Proposed System Workflow

The proposed workflow is: (1) collect student data, (2) clean and preprocess the dataset, (3) perform exploratory analysis, (4) engineer and encode features, (5) split data into training and testing sets, (6) train Logistic Regression, Decision Tree, Random Forest, and SVM models, (7) evaluate models using accuracy, precision, recall, and F1-score, (8) select the most appropriate model, and (9) deploy the prediction model through a FastAPI backend and Vue.js frontend.

Appendix B. Feature Dictionary

Variable

Expected Type

Description

Age

Numerical

Student age

Gender

Categorical

Gender category

Attendance

Numerical

Attendance measure

Study Hours

Numerical

Study time measure

Previous Scores

Numerical

Prior academic achievement

Sleep Hours

Numerical

Sleep duration

Tutoring

Categorical

Additional tutoring

Transportation

Categorical

Transportation category

Internet Access

Categorical

Internet availability

Parent Education

Categorical

Parent education level

Extracurricular Activities

Categorical

Participation in extracurricular activities

Family Income

Numerical/Categorical

Income information if available




ចែករំលែក
រក្សាទុក
មតិយោបល់ 0
ចូលគណនី ដើម្បីបញ្ចេញមតិ