Matlab TreeBagger成本参数fitensemble不工作,因为它适用于类似的功能
3视图(30天)
显示旧的评论
的成本函数TreeBagger类和fitensemble(袋方法)都是[0 8;1 0]为二进制分类。fitensemble的混淆矩阵显示的分类往往把costy类的支持(如[100 0;20 80]支持假阴性)但TreeBagger并不持有的相同。我有试过3个数据集和TreeBagger似乎忽略了成本作为我省略了成本参数和混淆矩阵就像当你不给费用。我的代码有问题还是TreeBagger吗?(顺便说一句混淆矩阵的问题不是误解,它只是不工作)
我的代码
(TREEBAGGER不工作)
射频= TreeBagger(150年,Xtrain Ytrain“oobpred”,“上”,“成本”,[0 8;1 0])
(FITENSEMBLE作品)
袋= (Xtrain Ytrain,“包”,150年,“类型”、“分类”,“成本”,[0 8;1 0]);
谢谢你的帮助。
0评论
答案(1)
Ilya
2012年8月27日
fitensemble和TreeBagger使用不同的方法将成本矩阵。
fitensemble使用成本矩阵更新类的先验概率。这个方案描述:
//www.tianjin-qmedu.com/help/toolbox/stats/bsvjye9.html bsw73lr
每棵树的数据然后引导使用这些类先验多项抽样概率。即每个引导复制品是由观察类的误分类代价更高。
TreeBagger接连数据使用一个未加权的计划。每个副本都有相同的比例,平均而言,类的原始数据。先验概率和成本矩阵传递到单独的树木。
这两种方法是敏感的误分类代价。因为袋装的树木通常分裂最好水平(minleaf = 1),每棵树的后验概率预测要么是0或1。引导副本的计划是由某个类的观测显示更多敏感类先验和误分类代价,因为有更多的树叶的观察类错误分类的成本就越高。
如果你想要终极控制的误分类成本占,你可以训练不需要通过成本TreeBagger矩阵或类先验概率,然后调整后验概率预测包括成本的知识。一个导致这种调整是这里所描述的:
//www.tianjin-qmedu.com/help/toolbox/stats/bq_u8tb.html bs31lmr