Dual Averaging Method for online graph-structured sparsity
Overview
Welcome to the repository of GraphDA! This repository is only for reproducing all experimental results shown in our KDD paper. To install it via pip, please try sparse-learn. More details of GraphDA can be found in: “Zhou, Baojian, Feng Chen, and Yiming Ying. “Dual Averaging Method for Online Graph-structured Sparsity.” arXiv preprint arXiv:1905.10714 (2019).”.
Preparation
Our code is based on Openblas-0.3.1, which we already copied into our repository. Suppose you are using GNU/Linux based system or Mac, you can first goto OpenBLAS-0.3.1 folder and then make install it via the following command:
>>> cd OpenBLAS-0.3.1
>>> make && make install PREFIX=../lib
To download the datasets and results, please goto: datasets and results.
The lib folder under graph-da and corresponding libraries will be generated.
Figure 1
To generate Figure 1, run the following command:
>>> python exp_logit_benchmark.py show_figure_1
Figure 2
To generate Figure 2, run the following command:
>>> python exp_logit_benchmark.py show_figure_2
Figure 3-7
To generate Figure 3-7, run the following command:
>>> python exp_logit_benchmark.py show_figure_3-7
Figure 8
To generate Figure 8, run the following command:
>>> python exp_linear_mnist.py show_figure_8
Figure 9-10
To generate Figure 9-10, run the following command:
>>> python exp_logit_kegg.py show_figure_9-10
Figure 11
To generate Figure 11, run the following command:
>>> python exp_linear_mnist.py show_figure_11
Figure 12
To generate Figure 12, run the following command:
>>> python exp_logit_kegg.py show_figure_12
Table 1-4
To generate Figure 12, run the following command:
>>> python exp_logit_benchmark.py show_4_tables
Exactly Reproduce the results
To reproduce those results, you need to run the following commands:
>>> python exp_logit_benchmark.py run_{fix_tr_mu,diff_tr,diff_mu,diff_s}
>>> python exp_logit_kegg.py {test_graphda,test_baselines}
>>> python exp_linear_mnist.py run_test