在我转载的其它的两篇文章里。有对cvCreateMTStumpClassifier的具体介绍,各自是http://blog.csdn.net/ding977921830/article/details/46356789和http://blog.csdn.net/ding977921830/article/details/46412465。可是我还是看了好多遍才梳理出一个头绪,现总结例如以下:
(1)估计算出全部特征对训练样本特征存储在valCache中。经过排序后,存储在idxCache;
(2)对特征分组,每组数量为portion;
(3)对于每一个特征,也就是上面idxCache的每一行,利用宏ICV_DEF_FIND_STUMP_THRESHOLD( suffix, type, error ) 计算最佳阈值。衡量标准是不纯度(entropy,gini,misclasification。残差平方和)。
(4)最后的一个do-while循环。就是用来跳过和当前结点同样的特征值。尽管以兴许的、同样的值作为结点划分左右子树,残差平方和可能会改变,可是决策树划分的最小单位是特征值的种类。由于在利用决策树进行分类的时候,必须对同样的特征值做出一样的决策(该划入左子树还是该划入右子树)。