在weka中组合多个保存的分类器

时间:2015-01-09 11:06:09

标签: java c# machine-learning weka

拥有庞大的分布式数据集,这些数据集经过培训可以生成分类器。所有数据集都具有相同的属性,并且使用单个算法J48进行训练。 我面临的问题是如何将这些分类器组合成一个可用于测试和预测数据的分类器。 我正在使用weka工具代码.Have将weka jar转换为dll。使用C#语言。 任何C#或Java的帮助都会有很大的帮助。 如果需要任何其他信息,您可以自由询问。 谢谢

2 个答案:

答案 0 :(得分:0)

我不认为如果你在N个训练集上创建N个分类器然后组合N个分类器来生成单个分类器是可能的。因为首先,数据不同;第二,所以模型会有所不同。相反,我要做的是如果我对N个结果感到满意,我会结合所有N个数据集并从中开发一个模型来测试和预测看不见的数据。

答案 1 :(得分:0)

完全有可能做你想要的。您可以从N个不同但兼容的数据集构建N个不同的分类器,并组合它们的输出以形成更高阶的新数据集。它是一种组合分类器的分层方式,在这方面有很多种。它被称为'ensembling'或者'分类器合奏'。有大量的技术文章详细说明了如何做到这一点。

一种方法是: 1.训练/获得N种不同的分类器。 2.构建一个新的数据集,其概率输出为已知的一组实例,每行一个实例,每组列的输出集合。和正确的/已知的类。 3.丢弃旧属性并仅保留输出的probs计算和已知类。 4.使用此更高阶数据集训练新模型/分类器(不需要使用整个数据,只需要中等子样本)。 5.对于每个新实例,获得较低级别的概率(使用N个分类器),如前所述,并在这些新构造的实例上应用更高级别的分类器。

希望有所帮助。