Skip to content

Latest commit

 

History

History
75 lines (49 loc) · 3.14 KB

README.md

File metadata and controls

75 lines (49 loc) · 3.14 KB

funGCN

Functional Graph Convolutional Networks and Feature Selection

The repo contains the code to perform two models:

  1. Functional adaptive Feature Selection with elastic-net penalty (ffs) using a Dual Augmented Lagrangian algorithm for the following models:

    • Function-on-Function (FF)
    • Function-on-Scalar (FS)
    • Scalar-on-Function (SF)
    • Logit (with functional features and categorical response)
  2. Functional Graph Convolutional Networks (fgcn). The model estimates a knowledge graph and implements a GCN to work with multi-modal (longitudinal, scalar, and categorical) data and cuncurrently perform different tasks (regression, classification, forecasting).


The implemented methodology is described in the following papers:


FILES DESCRIPTION

expes --------------------------------------------------------------------------------------------------------------

    ffs 
    
        expes/ffs/sim_FF.py:
          file to run feature selection on synthetic data for the Function-On-Function model 

        expes/ffs/sim_FS.py:
          file to run feature selection on synthetic data for the Function-On-Scalar model
        
        expes/ffs/sim_logit.py:
          file to run feature selection on synthetic data for the Logit model

        expes/ffs/sim_SF.py:
          file to run feature selection on synthetic data for the Scalar-On-Function model
    
    fgcn 
        
        expes/fgcn/sim_fgcn.py:
          file to run fungcn on synthetic data


fungcn -------------------------------------------------------------------------------------------------------------
    
    fungcn/ffs:
      folder containing the files to implement ffs. More info is in the folder readme

    fasten/fgcn:
      folder containing the files to implement fmmgcn. More info is in the folder readme

REQUIREMENTS

  1. Create a python3.11 environment: conda create -n my_env python=3.11
  2. clone funGCN (main branch)
  3. install funGCN and required packages by running pip install -e . at the root of the repository, i.e. where the setup.py file is.
  4. Lunch the desired experiments, e.g., python expes/ffs/sim_FF.py

For Apple M processors' users:

  • To install numpy with the apple library vecLib (which is optimized for Apple processors) run:
    pip install cython pybind11
    pip install numpy cython