0

对于那些不熟悉 Meka 的人 - 它是 Weka 对多标签分类器的扩展。然而,Meka 和 Weka 非常相似,因此 Weka 用户也可以回答这个问题。

基本上,我想要我运行各种分类器的结果,并且我希望它们都在一个表中,这样我就可以快速(动态/自动)进行模型选择,而不必为各种评估指标对每个分类器的值进行硬编码。 .

是否有一种万无一失、有效的方法来运行多个分类器实验——比如使用交叉验证——并获得如下表:

Model                    Hamming_Loss    Exact_match    Jaccard    One_Error    Rank_Loss
Binary.Relevance           0.94             0.95          0.03      0.04       0.002
Classifier.Chains          0.91             0.94          0.06      0.04       0.03
Random.k-Labelsets         0.95             0.97          0.01      0.01       0.005
...                        ...              ...           ...       ...
...                        ...              ...           ...       ...
4

1 回答 1

0

使用 Java,您可以手动创建一个不同分类器的数组并沿着它迭代,将相关的输出值保存在一个矩阵中,以便之后轻松访问。正如您所说,您甚至可以从获得的结果中创建一个新数据集,用于动态模型选择。但关键是,如前所述,您必须手动设置分类器数组。

Classifiers[] cls = new Classifiers[clSize];
cls[0] = new J48();//or whatever you need
...

//one option:
cls[0].buildClassifier(dataset);
....

//another option
cls[0].crossValidateModel(dataset);
....

希望有所帮助。评论,如果您需要进一步的支持。

于 2015-09-15T01:37:16.303 回答