Reproduction of Demirtürk & Harunoğlu (2025)

Can a computer predict a student’s GPA — and how well can we reproduce a published answer?

We rebuilt a research paper’s experiments from scratch: 10 prediction models, each tuned 3 ways, then compared our results with the original, number by number.

02 The problem

Predict a GPA from twelve facts about a student

In plain wordsGiven things like study time and absences, guess the student’s GPA, a number from 0 to 4.

What is regression?

Regression means predicting a number (here, GPA) rather than choosing a category (like pass/fail).

The model studies thousands of past students, learns which inputs move the number up or down, then applies that pattern to a student it has never seen.

The 12 inputs

    Target: GPA (0–4).

    Data leakage, and why we avoided it

    Data leakage is when the model is accidentally handed the answer. The dataset also has GradeClass (A–F), but that letter is calculated from GPA. Keeping it would be like letting a student copy the answer key.

    So GradeClass was removed, along with StudentID (a label with no meaning). The paper made the same choice.

    Result: a fair test where the model only sees information it would really have in advance.
    03 Dataset & exploration

    What the data says before any model runs

    In plain wordsOne thing dominates: students who miss more classes get much lower GPAs.

    Kaggle Students Performance dataset: no missing values and no duplicate rows.

    Absences vs GPA: −0.92

    A correlation near −1 means “as one goes up, the other goes down almost in a straight line.” Absences is by far the strongest signal.

    Everything else is a whisper

    Weekly study time, parental support and tutoring have weak positive effects. Age, gender, ethnicity, sports and music have almost none.

    Left: heat map of correlations between all variables; the Absences–GPA cell is strongly negative. Right: histograms showing how GPA is distributed across the 2,392 students.
    Correlation heat map & GPA distribution. Darker cells mean a stronger relationship. Full size ↗
    Three scatter plots of GPA against Absences, ParentalSupport and StudyTimeWeekly. GPA falls steeply and almost in a straight line as Absences rises; the other two show weak upward trends.
    GPA vs three inputs. Left: absences give a nearly straight downward line. Full size ↗
    04 Pipeline

    From raw spreadsheet to a fair comparison

    In plain wordsClean the data, hide a test set, train and tune on the rest, then grade every model on the hidden students.

    …or click / tab to any step.
    Show the original flow diagram from the report
    Flow diagram with six boxes: Student dataset, Preprocessing, Ten regressors, Three cases, Evaluation, Best model.
    Full size ↗
    05 The three cases

    Every model gets tuned three ways

    In plain wordsModels have dials, called hyperparameters. We compare leaving the dials alone, trying every setting, and evolving good settings.

    CASE 1 Default

    The factory settings from the software library. No tuning at all. This is the baseline.

    Analogy: wearing the outfit exactly as it came out of the packaging.

    CASE 2 Grid Search

    Write down a short list of values for each dial and try every combination, scoring each with cross-validation (repeated practice exams on the training data only).

    • 24–180 combinations per model
    • Thorough, but cost explodes as dials are added
    Analogy: trying on every outfit in the wardrobe.

    CASE 3 Genetic Algorithm

    Start with random settings. The best ones “survive”, mix with each other (crossover), occasionally get a random tweak (mutation), and the next generation is usually better.

    • Mutation rate 0.05 · elitism 10%
    • Selection · crossover · mutation
    Analogy: breeding better candidates over generations.
    Show the training-architecture diagram Diagram of the three training cases: default parameters, grid search with cross-validation, and a genetic algorithm loop of selection, crossover and mutation.
    Full size ↗
    06 The 10 models

    Ten ways to make the same prediction

    In plain wordsDifferent “thinking styles” for the same task. Click a card to see the best settings we and the paper found.

    Hyperparameter text: teal = ours, blue-grey = paper. Full tables with match flags are in section 8d.

    07 Results explorer

    Which model predicts GPA best?

    In plain wordsR² is the share of GPA variation a model explains (1.0 is perfect). RMSE and MAE are the typical size of the miss, in GPA points, so lower is better.

    Tuning case
    Show
    Metric

    The chart library could not load (are you offline?). The sortable table below has all the same numbers.

    Sortable table

    ★ = best in that column (highest R² / CV, lowest error). The paper reports no cross-validation scores, so its CV column is “—”. Paper values: Tables 3, 6, 8. Ours: report Tables 1–3 and notebook.

    Bar chart of test-set R-squared for our ten models in the default, grid search and genetic algorithm cases; SVR is highest in all three.
    Our R² (from the report). Full size ↗
    Bar chart of test-set RMSE for our ten models in three cases; SVR has the lowest error.
    Our RMSE (from the report). Full size ↗
    Left: scatter of predicted versus actual GPA for the SVR Grid Search model, hugging the diagonal. Right: histogram of prediction errors centred on zero.
    Predicted vs actual GPA for the best model (SVR, Grid Search). Points on the diagonal are perfect. Full size ↗
    Heat map of our test R-squared with models as rows and the three cases as columns; values range from 0.866 to 0.953.
    Our R² heat map. Full size ↗
    08 Paper vs my implementation

    Same experiment, independent rebuild

    In plain wordsWe repeated the paper’s experiment and checked whether we got the same answers. Mostly yes; where we differ, we say why. This is a reproduction study, not a critique of the authors.

    Setup side by side

    In plain wordsWe matched the paper on data, split, models and metrics. The biggest deliberate difference is the smaller genetic-algorithm budget.

    Setup comparison
    AspectBase paperMy implementation
    Things we noticed while reproducing

    Our observations from reading the paper; please double-check against the original. These made exact reproduction harder, so we followed the paper’s intent and documented our choices.

      09 Key findings

      Seven things to remember

      In plain wordsThe short version, if you read nothing else.

      10 Limitations & future work

      What this study can’t tell you

      In plain wordsGreat scores on one tidy dataset don’t guarantee the same on real schools.

      Limitations

      • Single dataset, likely synthetic (almost perfectly linear in Absences).
      • No feature scaling, to match the paper.
      • Reduced GA budget: 20 × 5 instead of 100 × 10.
      • Near-linear target limits how much models can differ.

      Future work

      • Run the GA at the paper’s full 100 × 10 budget for a fair GA-vs-Grid comparison.
      • Try Bayesian Optimization and Random Search.
      • Test on other datasets from different institutions.