Skip to main content

/EDUCATION/COMP3222

COMP3222: Machine Learning Technologies

Third Year, 2025/26 · Semester 1

Overall mark 83%

Machine learning models and experimental evaluation, with a study of ensemble classifiers on categorical data.

SKILLS Machine Learning · Ensemble Methods · Experimental Design · Statistical Evaluation · Classifier Implementation

TECHNOLOGIES Python · NumPy · scikit-learn · SciPy · aeon

What the module covered

This module covered the machine learning pipeline, including data preparation, model fitting, generalisation, and evaluation. Topics included nearest neighbours, decision trees, bagging and boosting, neural networks, and statistical comparisons between classifiers.

For the coursework, I implemented a decision-stump ensemble with native support for categorical features and a scikit-learn-compatible interface. The ensemble combined different attribute-selection measures, random feature subsets, and sample subsets. I evaluated it on 23 categorical datasets, comparing native inputs with one-hot encoding and benchmarking against Random Forest, Gradient Boosting, and AdaBoost.

What I took from it

The experiments separated two questions that could easily be conflated. Native categorical handling improved my stump ensemble compared with its one-hot-encoded version, but that did not make it competitive with the stronger baseline ensembles. Comparing accuracy with balanced accuracy also helped account for class imbalance rather than relying on a single headline score.

The report identified the limited expressiveness of decision stumps and the scope of hyperparameter tuning as areas for further work. Improving one part of a model’s design was useful, but the full comparison mattered more than confirming the original hypothesis.