Skip to content

The repo consists of a Python package that works with functional data. In particular, it includes two distinct methodologies: Functional Feature Selection and Functional Graph Convolutional Networks. funGCN has been developed as part of the Horizon 2020 SEURO Project under grant agreement No. 945449.

License

IBM/funGCN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
    

About

The repo consists of a Python package that works with functional data. In particular, it includes two distinct methodologies: Functional Feature Selection and Functional Graph Convolutional Networks. funGCN has been developed as part of the Horizon 2020 SEURO Project under grant agreement No. 945449.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages