Code Monkey home page Code Monkey logo

brainnet-ml-toolbox's Introduction

BrainNet-ML-ToolBox: A Python Machine Learning Toolbox for Brain Network Classification

==============================================================

BrainNet-ML-ToolBox library supports the combination of models and score from key ML libraries such as scikit-learn <https://scikit-learn.org/stable/index.html>, and xgboost <https://xgboost.ai/>, for data preprocessing, dimensionality reduction, and classification. This toolbox has been put together and polished by Goktug Guvercin ([email protected]).

Introduction

This repo is a machine learning (ML) toolbox including 20 different pipelines for brain network classification.

Autism spectrum disorder (ASD) affects the brain connectivity at different levels. Nonetheless, non-invasively distinguishing such effects using magnetic resonance imaging (MRI) remains very challenging to machine learning diagnostic frameworks due to ASD heterogeneity. So far, existing network neuroscience works mainly focused on functional (derived from functional MRI) and structural (derived from diffusion MRI) brain connectivity, which might not capture relational morphological changes between brain regions. Indeed, machine learning (ML) studies for ASD diagnosis using morphological brain networks derived from conventional T1-weighted MRI are very scarce.

To fill this gap, we leverage crowdsourcing by organizing a Kaggle competition to build a pool of machine learning pipelines for neurological disorder diagnosis with application ASD diagnosis using cortical morphological networks derived from T1-weighted MRI. The general aim of this challenge was to encourage the competitors to come up with a machine learning pipelines that can differentiate normal controls from autistic subjects using cortical morphological networks. The competitors were allowed to use built-in machine learning methods to design their brain network classification frameworks. In this repository, we include the source codes of the top 20 teams in the competition.

During the competition, participants were provided with a training dataset and only allowed to check their performance on a public test data. The final evaluation was performed on both public and hidden test datasets based on accuracy, sensitivity, and specificity metrics. Teams were ranked using each performance metric separately and the final ranking was determined based on the mean of all rankings. The first-ranked team (Team-1) achieved 70% accuracy, 72.5% sensitivity, and 67.5% specificity, where the second-ranked team (Team-2) achieved 63.8%, 62.5%, 65% respectively.

BrainNet pipeline BrainNet pipeline

Installation

The source codes have been tested with Python 3.6.2 version through PyCharm IDE on OSX operating system. There is no need of GPU to run the codes.

Required Python Modules:

  • csv
  • numpy
  • pandas
  • xgboost
  • mlxtend
  • statistics
  • warnings
  • matplotlib
  • scikit-learn

Dataset format

The brain network dataset in the training stage comprised 120 samples, each represented by 595 morphological connectivity features. The testing set comprised 80 samples. If you intend to run source codes for your own dataset, some operations inside the codes such as constant feature elimination and loading data from CSV files can be modified accordingly.

Please cite the following paper when using BrainNet-ML-ToolBox:

@article{brainNetML2020,
  title={Machine Learning Methods for Brain Network Classification: Application to Autism Diagnosis using Cortical Morphological Networks},
  author={Bilgen, Ismail and Guvercin, Goktug and Rekik, Islem},
  journal={arXiv preprint arXiv:2004.13321},
  year={2020}
}

Paper link on arXiv: https://arxiv.org/pdf/2004.13321v1.pdf

brainnet-ml-toolbox's People

Contributors

basiralab avatar islemrekik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

brainnet-ml-toolbox's Issues

Hello~

Hello~ How can I get the research data? in kaggle?

I want to ensure the exact construction process of CMN.

Hi, in the “Cortical morphological network (CMN) construction” of your published lecture, you refered that both right and left hemispheres for each subject. And with DesikanKilliany Atlas based parcellation, each can be divded into 35 meaningful region. I think for now, we have 70 ROIs in total. However, when computing the morphological connectivity, you said "we generate a connectivity vector of size $N_c = N_r ×(N_r −1)/2$, (i.e., 595 connectivities for $N_r = 35$)". It's that means we can get a 595-dim vector for each hemisphere and there existing an omitting concatenation procedure to form an 1190-dim vec, or its just an example the final dimension of connectivity vector is $70*(70-1)/2=2415$?
Hoping for your reply, thanks sincerely.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.