alextimans / eth-advanced-ml

Projects accompanying the course Advanced ML at ETH Zurich, 2020.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Advanced ML course projects

Projects for successful completion of the course 'Advanced Machine Learning' led by Prof. Joachim Buhmann at ETH Zurich, winter semester 2020. Hints were given in the tutorials and the code was fully implemented by students. Projects were designed to be achievable with small computational resources and relying on standard ML packages such as sklearn. The use of pre-trained neural networks and "fancy" models was explicitly discouraged. Evaluation was performed on unknown test data with public and private leaderboards (Kaggle-style) and performance graded according to the leaderboard ranks.

Project 1

Task: Predict a person’s age from pre-processed MRI data.
Challenges: data was corrupted to include irrelevant features, outliers and perturbations. Evaluation metric: R^2 coefficient.
We implemented two models either with LightGBM or Gradient Boosting.

Project 2

Task: Multi-class classification of diseases from pre-processed image data.
Challenges: strong class imbalance.
Evaluation metric: balanced multiclass accuracy.
After trying different classifiers and methods it turned out that a standard balanced SVM Classifier performed best.

Project 3

Task: Multi-class classification of ECG time series data. The dataset was featured in the PhysioNet 2017 challenge.
Challenges: Domain-specific manual feature extraction e.g. heartbeat frequency, amplitude, interval segment durations etc.
Evaluation metric: F1-Score.
The finally selected model by a team colleague included outlier detection with IsolationForest and classification with GradientBoostingClassifier.

Project 4

Task: Automated sleep scoring (multi-class classification) from EEG & EMG time series data for brain-state analysis.
Challenges: Severe class imbalance, temporal consistency, inter-subject variability, domain-specific manual feature extraction e.g. frequency bands, fourier signal decomposition, power spectrum domain.
Evaluation metric: Balanced accuracy score.
We spent a lot of time on good quality feature extraction and achieved a good score using a simple balanced SVM Classifier.

About

Projects accompanying the course Advanced ML at ETH Zurich, 2020.


Languages

Language:Python 100.0%