万事具备,只欠东风。在前几篇的博文中一直在阐述如何准备mulan的输入文件,此处将简单介绍一个如何利用
mulan在Eclipse下进行实验。
(1)新建工程Test_Mulan,新建类test_mulan,按照前几篇博文的方法加入mulan的jar包。
import mulan.classifier.lazy.MLkNN;
import mulan.classifier.lazy.IBLR_ML;
import mulan.data.MultiLabelInstances;
import mulan.evaluation.Evaluation;
import mulan.evaluation.Evaluator;
public class test_mulan {
/**
* Make a test with mulan in eclipse
*
* @author WuQiang
* Email:qiang4.wu@changhong.com
*/
public static void main(String[] args) throws Exception {
String arffFile_train = "E:/methods/Eclipse/Create_Arrf/data/traindata_ch.arff";
String xmlFile_train ="E:/methods/Eclipse/Create_Arrf/data/traindata_ch.xml";
String arffFile_test = "E:/methods/Eclipse/Create_Arrf/data/testdata_ch.arff";
String xmlFile_test ="E:/methods/Eclipse/Create_Arrf/data/testdata_ch.xml";
MultiLabelInstances data_train = null;
MultiLabelInstances data_test = null;
data_train = new MultiLabelInstances(arffFile_train, xmlFile_train);
data_test = new MultiLabelInstances(arffFile_test, xmlFile_test);
//RAkEL learner1 = new RAkEL(new LabelPowerset(new J48()));
Evaluator eval = new Evaluator();
Evaluation results;
MLkNN mlknn=new MLkNN();
IBLR_ML iblr_ml=new IBLR_ML();
mlknn.build(data_train);
iblr_ml.build(data_train);
results=eval.evaluate(mlknn,data_test);
System.out.println(results);
results=eval.evaluate(iblr_ml,data_test);
System.out.println(results);
System.out.println("finished");
//double [] pro = null;
//MultiLabelOutput output= new MultiLabelOutput(pro);
//System.out.println(output.getConfidences());
//results.toCSV();
/*int numFolds = 10;
results = eval.crossValidate(learner1, data_train, numFolds);
System.out.println(results);
results = eval.crossValidate(learner2, data_train, numFolds);
System.out.println(results);*/
}
}
只要相应的输入文件已经准备好,那么实验就非常简单。