Git Product home page Git Product logo

c-hmcnn's Introduction

C-HMCNN

Code and data for the paper "Coherent Hierarchical Multi-label Classification Networks".

Evaluate C-HMCNN

In order to evaluate the model for a single seed run:

  python main.py --dataset <dataset_name> --seed <seed_num> --device <device_num>

Example:

  python main.py --dataset cellcycle_FUN --seed 0 --device 0

Note: the parameter passed to "dataset" must end with: '_FUN', '_GO', or '_others'.

If you want to execute the model for 10 seeds you can modify the script main_script.sh and execute it.

The results will be written in the folder results/ in the file <dataset_name>.csv.

Hyperparameters search

If you want to execute again the hyperparameters search you can modify the script script.shaccording to your necessity and execute it.

Architecture

The code was run on a Titan Xp with 12GB memory. A description of the environment used and its dependencies is given in c-hmcnn_enc.yml.

By running the script main_script.sh we obtain the following results (average over the 10 runs):

Dataset Result
Cellcycle_FUN 0.255
Derisi_FUN 0.195
Eisen_FUN 0.306
Expr_FUN 0.302
Gasch1_FUN 0.286
Gasch2_FUN 0.258
Seq_FUN 0.292
Spo_FUN 0.215
Cellcycle_GO 0.413
Derisi_GO 0.370
Eisen_GO 0.455
Expr_GO 0.447
Gasch1_GO 0.436
Gasch2_GO 0.414
Seq_GO 0.446
Spo_GO 0.382
Diatoms_others 0.758
Enron_others 0.756
Imclef07a_others 0.956
Imclef07d_others 0.927

Reference

@inproceedings{giunchiglia2020neurips,
    title     = {Coherent Hierarchical Multi-label Classification Networks},
    author    = {Eleonora Giunchiglia and
               Thomas Lukasiewicz},
    booktitle = {34th Conference on Neural Information Processing Systems (NeurIPS 2020)},
    address = {Vancouver, Canada},
    month = {December},
    year = {2020}
}

c-hmcnn's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

c-hmcnn's Issues

Confused about transpose of constraint matrix

Thanks for your work!
For the output of get_constr_out to be correct, should not we take the transpose of the constraint matrix? The constrain matrix contains the ancestors at the last dimension, however, we want an ancestor to take the maximum of its descendants.

def get_constr_out(x, R):

ran on cellcycle_FUN and didn't get the result in paper

Hi,

I ran the code on cellcycle_FUN with seed 0 and get an AUPRC of 0.17 max, which was much smaller than the value in your paper.
I tried the code in python 3 and pytorch 1.6 and the code worked just fine, although there's some deprecated warnings.
I am wandering why there is such a difference? Maybe the version difference ?

About the code of Figure 1

Hello, I recently study multi-label classification, the fig 1 in the paper may help me analyse my classifier performance. However, I don't know how to draw such a beautiful graph, would you share the graph code with me, I'll greatly appreciate it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.