我的TreeBagger类和fitensemble(Bag方法)的成本矩阵对于二进制分类都是[0 8;1 0]
。在fitensemble上的混淆矩阵表明,分类倾向于转向有利于costy类(如[100 0; 20 80]
赞成假阴性。混淆就像[100 10; 10 80]
有成本参数一样)但是TreeBagger上的相同没有保持。我已经阅读了TreeBagger代码,它直接将成本传递给每个树(在本例中为classregtree)。我已经在3个数据集上尝试了它,TreeBagger似乎忽略了成本。我省略了成本参数,混淆矩阵就像你根本不给成本一样。我的代码有问题还是TreeBagger? (BTW问题不是对混淆矩阵的误解,它只是不起作用)。还有TreeBagger的替代品,它可以给我不同的重要性,数据和异常值的集群以及成本是否有效?
无法工作的TREEBAGGER
RF=TreeBagger(150,Xtrain,Ytrain,'oobpred','on','cost',[0 8;1 0])
可行的工作
Bag=(Xtrain,Ytrain,'Bag',150,'type','classification','cost',[0 8;1 0]);
感谢您的帮助。