groupLearning.jl is a Julia package for performing many-to-many and many-to-one transfer learning on feature sets of multiple domains.
This repository implements the Group Alignment Algorithm (GALIA) method [1]. All necessary code and some example data are provided in order to test and replicate study [1].
- Make sure the code is running on Julia release v1.9.0.
- All the required packages (with compatible versions) are provided in Project.toml file.
- Download the repository.
- Run Julia REPL in the top folder of the repository.
- Instantiate the environment by running
]instantiate
-
Machine learning models are imported from the scikit-learn Python library. Therefore, Python must be installed on the PC. We suggest to follow the steps on ScikitLearn.jl page.
-
As an example, recordings of 8 subjects (three session from each) are provided under the folder exampleData/bi2015a.
-
Other databases can be tested as long as they are in the NY file format. Please locate custom databases as subfolders under data folder. For other formats you will have to replace the relevant EEG reading functions with your own.
-
Please make sure the current working directory is set to the filepath of the repository.
-
Open the test_pipeline.jl file.
-
Create required objects for pipelines
# Subject specific train/test pipeline
obj_list = initiateObjects(dbName, filepath);
- Create a list comprised of pipeline steps.
# Group learning pipeline
pipeline2 = [createTSVectors, prepareGL, runGL, trainGL];
- Run the pipeline
runPipe!(pipeline2, obj_list)
- Plot and compare pipelines
# PLot and compare pipelines
plotAcc(obj_list)
Fatih Altindis is a Research Assistant at Abdullah Gul Univeristy, Kayseri. contact: fthaltindis at gmail dot com
Marco Congedo, is a Research Director of CNRS (Centre National de la Recherche Scientifique), working at UGA (University of Grenoble Alpes).
The research on GALIA has has been carried out during a visit of Fatih in Grenoble.
This project is licensed under the MIT License