QinghaiZheng1992 / DRAM-MLR

Implementation of "Predicting Label Distribution from Multi-label Ranking"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DRAM

Implementation of "Predicting Label Distribution from Multi-label Ranking"

DRAM: A framework for predicting label Distribution from multi-label RAnking via conditional Dirichlet Mixtures

Environment

python=3.7.6, numpy=1.21.6, pandas=1.3.5, scikit-learn=0.24.2, scipy=1.7.3, pytorch=1.13.0+cpu

Reproducing

Change the directory to this project and run the following command in terminal.

python demo.py

Usage

Here is a simple example of using DRAM-LN.

from dram import DRAMLN

# train DRAM-LN
dramln = DRAMLN(validate=None).fit(X, R, M) # X: feature matrix; R: rankings, e.g., [[0, 2, 1], [3, 1], ...]; M: number of labels

# train DRAM-LN
dramln = DRAMLN(validate=(Xvalidate, Rvalidate)).fit(X, R, M)

# Predict label distributions for Xtest
Dhat = dramln.predict(Xtest)

Paper

@inproceedings{Lu2022-DRAM_MLR,
    title={Predicting Label Distribution from Multi-label Ranking},
    author={Yunan Lu and Xiuyi Jia},
    booktitle={Advances in Neural Information Processing Systems},
    year={2022}
    pages = {36931-36943},
}

About

Implementation of "Predicting Label Distribution from Multi-label Ranking"


Languages

Language:Python 100.0%