NBS-Predict is a prediction-based extension of the Network-based Statistic (Zalesky et. al., 2010). NBS-Predict aims to provide a fast way to identify neuroimaging-based biomarkers with high generalizability by combining machine learning with graph theory in a cross-validation structure.
NBS-Predict operates in a cross-validation structure (nested if hyperparameter optimization is desired). The general algorithm consists of model evaluation, feature selection like suprathreshold edge selection, hyperparameter optimization (optionally), and machine learning algorithm optimization (optionally).
NBS-Predict requires the following software and toolboxes to run properly:
Matlab (2016b or newer)
Statistics and Machine Learning Toolbox
Parallel Computing Toolbox (optional)
git clone --recursive git@github.com:eminSerin/NBS-Predict.git
addpath(genpath(pwd));
You can download sample data using the following link: NITRC. This dataset comprises synthetic network data simulating regression and classification problems. Since the sample data is synthetic, please keep in mind that, results obtained following the analysis of this data do not imply any significant information. This sample dataset should only be used to check whether the toolbox works properly and to serve as an example input structure so that you can organize your input data accordingly.
start_NBSPredict();
Using this window, create a new workspace. To do this, write a name for the workspace and press the return key. A pop-up window asking the directory for the workspace will appear. After selecting the directory, hit the "Create" button to create the workspace. The created workspace will appear on the list box below. Then, hit the "Start" button to run the workspace.
The analysis setup window of NBS-Predict will automatically appear on the screen.
See the MANUAL.pdf file for the detailed user guide.
Additionally, see the Tutorial_HCP.pdf file for example use of NBS-Predict.
You may test the performance of NBS-Predict in predicting target variable or identifying edges with ground truth on several synthetic networks (small-world, scale-free or random) data by typing this command:
test_NBSPredict(parameters);
The parameters are extensively documented in the test_NBSPredict.m function.
You may also use the simulation function that automatically runs the test function n times and using various parameters. To do that, type this command:
sim_testNBSPredict(parameters);
The parameters are extensively documented in the sim_testNBSPredict.m function.
Also, see the Tutorial_Simulation.pdf document for an example use of the simulation function.
We use SemVer for versioning. For the versions available, see the tags on this repository.
NBS-Predict was developed on Matlab R2017b and tested on Matlab R2017b and R2018b.
NBS-Predict was designed by Emin Serin, Andrew Zalesky, Johann D. Kruschwitz and Henrik Walter, and developed by Emin Serin.
You may contribute in this project in many ways such as bringing new features to NBS-Predict, improving documentantation or reporting bugs. See the CONTRIBUTING.md file for details
If you use the toolbox, please cite the following paper:
Serin, E., Zalesky, A., Matory, A., Walter, H., & Kruschwitz, J. D. (2021). NBS-Predict: A Prediction-based Extension of the Network-based Statistic. NeuroImage, 118625.
This project is licensed under the GNU General Public License v3.0 - see the LICENSE.md file for details
References for the functions or toolboxes used in NBS-Predict toolbox: