项目作者: rodolfomp123

项目描述 :
The Mulan Framework with Multi-Label Resampling Algorithms
高级语言: HTML
项目地址: git://github.com/rodolfomp123/imb-mulan.git
创建时间: 2019-12-03T02:46:34Z
项目社区:https://github.com/rodolfomp123/imb-mulan

开源协议:

下载


IMB-Mulan

The Mulan Framework with Multi-Label Resampling Algorithms

The Imbalanceness Mulan (IMB-Mulan) is an extension to the well-known Mulan framework (https://github.com/tsoumakas/mulan) with implementations of resampling algorithms previously proposed in the literature.

Resampling Algorithms

The following resampling algorithms were implemented in the IMB-Mulan framework:

  • Label Powerset Random Oversampling (LPROS)
  • Label Powerset Random Undersampling (LPRUS)
  • Multi-Label Random Oversampling (MLROS)
  • Multi-Label Random Undersampling (MLROS)
  • Best First Oversampling (MLBFO)
  • Multi-Label edited Nearest Neighbor (MLeNN)
  • Multi-Label Synthetic Minority Oversampling (MLSMOTE)
  • Multi-Label Resampling by Decoupling Highly Imbalanced Labels (REMEDIAL)
  • Multi-Label Resampling by Decoupling Highly Imbalanced Labels with Hybridization (REMEDIAL-HWR)
  • Multi-Label Tomek Link (MLTL)

Examples of use

The package “mulan.resampling.examples” contains codes samples explaining how to use all resampling algorithms implemented.
The following code gives a brief explanation concerning the LPROS resampling algorithms.

  1. //Creating the original dataset
  2. MultiLabelInstances originalTrainingSet = new MultiLabelInstances(arffFilename, xmlFilename);
  3. //Instantiate the LPROS algorithms
  4. LPROS lpros = new LPROS(originalTrainingSet, xmlFilename);
  5. //Resample the original training set
  6. MultiLabelInstances resampledTrainingSet = lpros.resample();
  7. ...

Cite

If you used IMB-Mulan in your research or project, please cite our work:

  1. @article{2020pereiramltl,
  2. author = {Pereira, R. M and Costa, Y. M. G. and Silla Jr., C. N.},
  3. title = {MLTL: A multi-label approach for the Tomek Link undersampling algorithm},
  4. journal = {Neurocomputing},
  5. volume={383},
  6. number={C},
  7. pages={95--105},
  8. year = {2020},
  9. publisher={Elsevier}
  10. }

Contributing

This project is open for contributions. Here are some of the ways for you to contribute:

  • Bug reports/fix
  • Features requests
  • Use-case demonstrations
  • Documentation updates

To make a contribution, just fork this repository, push the changes in your fork, open up an issue, and make a Pull Request!