运行 多个 Meka (Weka) 分类器 - 将错误加载到文件/table 对象

Run multiple Meka (Weka) classifiers - load errors to file / table object

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

基本上,我想要我的 运行 个不同分类器的结果,我希望它们都在一个 table 中,这样我就可以快速进行模型选择 (dynamically/automatically) 而无需对于各种评估指标,必须对每个分类器的值进行硬编码...

是否有一种万无一失的有效方法来 运行 多个分类器实验 - 例如使用交叉验证 - 并获得如下所示的 table:

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
...                        ...              ...           ...       ...
...                        ...              ...           ...       ...

使用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);
....

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