Discord

Checklist NOAI Singapore 2026 Final Assessment · Task 1

Gradient Boosting from Scratch

Implement a gradient-boosting regressor with L1 and L2 losses using NumPy and scikit-learn decision trees.

  • Tabular
  • Algorithm implementation (regression)

The task

Programming Task 1 (Machine Learning – Regression, 25 marks including a 5-mark bonus) is set for a low-power environmental sensor that cannot run XGBoost or LightGBM. Part 1 (8 marks) implements the L1 and L2 negative gradients and the median and mean initialisations; Part 2 (12 marks) builds the class structure and the fitting algorithm of a gradient-boosting regressor on top of DecisionTreeRegressor; Part 3 (bonus, 5 marks) adds early stopping.

The notebook supplies a reference table of loss functions and negative gradients and test cells for each question, using make_regression data.

Abridged by SOTA from the official materials. The official statement has the exact rules, and it wins wherever this summary differs.

At a glance

You get
The task notebook (numpy, sklearn DecisionTreeRegressor, make_regression, train_test_split, mean_squared_error).
You submit
The completed notebook.
Scoring
Marks per question as stated in the notebook (2 + 2 + 2 + 2, 4, 8, bonus 5).
Rules
  • Only numpy and standard decision trees; no XGBoost or LightGBM.
Format
NOAI 2026 Final Assessment, 6 March 2026, 9:30 am–12:30 pm (3 hours, 100 marks): Section 1 (20 MCQs, 20 marks) and three programming tasks. Individual.

Details

Year
2026, Singapore
Round
Final Assessment · Task 1
Language
English
License
Not stated by the source