我想使用AdaBoost实现一个Java应用程序,用于分类大象是非洲象还是亚洲象。我的Elephant类包含以下字段:
int size;int weight;double sampleWeight;ElephantType type; // (可以是亚洲象或非洲象)。
我对AdaBoost还是新手,我了解到好的弱分类器是决策树桩。我想知道我是否应该只创建两个决策树桩(一个用于尺寸,一个用于重量),还是应该创建更多的决策树桩(针对尺寸和重量各创建几个不同的)?具体的分类器创建过程是怎样的?
回答:
你将创建许多决策树桩。提升法的关键在于,每次你创建一个新的分类器(在你的例子中是决策树桩),你会增加那些被错误分类的实例的权重(重要性),这样下一个分类器会更加关注这些被错误分类的实例。你可以在每一步随机选择使用哪两个特征来构建你的树桩。一旦你创建了完整的分类器(树桩)集合,它们会使用多数投票的方式来对新实例进行分类。