MLC Toolbox Save

A MATLAB/OCTAVE library for Multi-Label Classification

Project README


A MATLAB/OCTAVE library for Multi-Label Classification

Current available functions:

Clustering-based method, CBMLC, HOMER, CLMLC SLEEC(?) Ensemble-based method, ECC, RAkEL, RAkEL-d, fRAkEL, TREMLC, MLCEnsemble,COCOA
Feature Space Dimension Reduction (FSDR)
FSDR-unsupervised method (confirmed), PCA, NMF, LPP, NPE,
FSDR-supervised method (confirmed), MLSI, MDDM, RFS, OPLS, MHSL, FScore, MLJMI, MLMIM, MLMRMR, SVP, CCA, MLDA, MIFS,
Label Space Dimension Reduction (LSDR), CSSP,PLST,CPLST,FaIE,BMaD,LEML
Process methods, CC, Meta-Label CC, PS, triClass
MLC-base classifiers (confirmed), BR, LP, MLKNN, BR with Random Under/Over Sampling, Top-k,FastXML(confirmed only on Windows)
MLC-base classifiers (unconfirmed), BPMLL, CLR, rankSVM

Base Classifiers LIBLINEAR, LIBSVM, rigde regression, k-NN

How to run Sample Code (Sample.m)


dataname='{datasetname}' dataset can be found dataset/matfile/
numCV = 3 or 5 or 10 3-CV or 5-CV or 10-CV we already splited training/test instance, indices can be found dataset/index/n-fold/

In this library we can combine any problem transformation methods.
For example, when we want to conduct PCA for the feature selection first, and then conduct k-means to divide instances, at last, random Classifier Chain use for each cluster,{'PCA',CBMLC','rCC'}
methods are conducted on this order. So if you want to conduct k-means first and then conduct PCA for each cluster,{'CBMLC','PCA','rCC'}
NOTE: CBMLC is Clustering Based Multi-Label Classification method.

Parameters for each method

Many methods may have several parameters with different name, so we gave up to implement CLI. We use file for setting parameters.(you can also add the code on Sample.m)
Set{methodname}Parameter.m is a file to set parameter. see function/{category}/{methodname}/Set{methodname}Parameter.m
For example

%Dimensionality of the feature subspace  

On some parameters, you can define values depends on dataset information by setting with string from like,

%Dimensionality of the feature subspace  
param.dim= 'numF*0.5';  

The method command the string line and substitute the value of the result
In this library,
numF is the number of features
numN is the number of instances
numL is the number of labels

Base Line Classifier

Most methods based on traditional binary/multi-class classifier to solve MLC'{base classifier name}
Now we support liinear_svm from LIBLINEAR,svm from LIBSVM, ridge (ridge regression) and 'knn' (k-nearest neighbor)


Some methods returns not discrete 0-1 classification results but scores for labels
To obtain classification result, threshold is needed.'Scut' or 'Rcut' or 'Pcut' Now, we support, Scut, Rcut, Pcut.


res.{criteria} contains result


Keigo Kimura(KKimura360) and Lu Sun(futuresun912).



Open Source Agenda is not affiliated with "MLC Toolbox" Project. README Source: KKimura360/MLC_toolbox
Open Issues
Last Commit
4 years ago

Open Source Agenda Badge

Open Source Agenda Rating