Machine Learning algorithm to detect tumors in medical images of brain slices.
-
Python 3
-
Linux (other OS were not tested)
-
Python packages required are in requirements.txt, install them with :
pip3 install --user -r requirements.txt
jupyter-notebook BrainTumorsDetector.ipynb
Using the BRATS18 dataset form the Multimodal Brain Tumor Segmentation Challenge 2018
4 Types of scans (of brains):
- T1
- T1ce
- T2
- FLAIR
And the ground truth
- My metric is the dice score, unstead of computing a score on raw pixels, because there is more zones without tumors than with tumors.
Dice score = 2⋅number of true positives / (2⋅number of true positives + number of false positives + number of false negatives)
Algorithm/Technic | Dice Score |
---|---|
SVM (SVC) | 0.713 |
Multi Layer Preceptron | 0.744 |
Random Forest | 0.727 |
CatBoost | 0.780 |
CatBoost seems to win!
T-34 is for the Russian tank model, because tanks are cool !