This repo contains the source of code of our paper, ESCAPED: Efficient Secure and Private Dot Product Framework for Kernel-based Machine Learning Algorithms with Applications in Healthcare, published in AAAI 2021.
In order to run the experiments that we conducted to analyze our solution in the paper, we provide three scripts:
- classification_exp_runner.sh <num_of_input-parties>: To see the scalability of our solution to the number of parties up to 6 parties, you can run this script by providing the number of parties as an argument. The results will be saved under "results/hiv_coreceptor_prediction/num_of_input-parties/<number_of_input-parties>_parties/run<run_number>/".
- classification_dataset_size_exp_runner.sh <dataset_size>: To analyze how scalable ESCAPED is to varying the size of the dataset, you can run this script by providing the dataset size as full, half or quarter. The results will be saved under "results/hiv_coreceptor_prediction/dataset_size/<dataset_size>/run<run_number>/".
- clustering_exp_runner.sh: In order to make multi-omics dimensionality reduction and clustering on HNSC patients, you can run this script that conducts the experiments and saves the results in "results/clustering/" and the kernel matrices in "kms/". You can, then, use these kernel matrices to run the web-rMKL on its website to obtain the clustering results. Furthermore, if you just want to run the web-rMKL via the kernel matrices which will be computed by ESCAPED, we already have them in "kms/". Note that the required data for the clustering task is zipped and you need to unzip them before running the corresponding script. You can find them under "data/cancer_dataset/hnsc/".
In order to run the randomized encoding based approach via three input-parties for varying dataset size, run randomized_encoding_approach/classification_with_re_exp_runner <dataset_size>. Since we did not further evaluate the randomized encoding based approach in the varying number of input-parties, we fixed the number of input-parties to 3. The results will be saved in "randomized_encoding_approach/results/".