plasp

Learning with Partial Supervision


Keywords
partial, labeling, weakly, supervised, learning, plasp, scalablemethod, structured, prediction
License
MIT
Install
pip install plasp==1.0.0

Documentation

Partial Labelling Approached with through Structured Prediction (PLASP)

Topic: Generic implementations of weakly supervision algorithms developped in [CAB20], [CAB21a], [CAB21b].
Author: Vivien Cabannes
Version: 1.0.0 of 2021/06/07

Installation

To install our package, run the setup file

$ python <path to code folder>/setup.py install

You can also install it in develop mode, eventually with pip

$ cd <path to code folder>
$ pip install -e .

Usage

See files:
  • problems/classification/libsvm_experiments.py
  • problems/classification/semi_supervision_experiments.py
  • and more generally *_experiements.py

Package Requirements

Most of the code is based on the following python libraries:
  • numpy
  • numba
  • matplotlib
Some testing done with notebook are based on:
  • jupyter-notebook
  • ipywidgets
For ranking, we used the following lp solver library:
  • cplex
To load LIBSVM files, more precisely to read libsvm files format we used:
  • scikit-learn
To load MULAN files, more precisely to read mulan files format we used:
  • arff
  • skmultilearn

Datasets links

Datasets can be download at:

Change path in config file dataloader/config.py to specify path to your data.

References

[CAB20] Structured Prediction with Partial Labelling through the Infimum Loss, Cabannes et al., ICML, 2020
[CAB21a] Disambiguation of weak supervision with exponential convergence rates, Cabannes et al., ICML, 2021
[CAB21b] Overcoming the curse of dimensionality with Laplacian regularization in semi-supervised learning, Cabannes et al., Preprint, 2021