我正在做一个基于随机森林的项目。我看到了一个关于随机森林创建的ppt (Rec08_Oct21.ppt)(www.cs.cmu.edu/~ggordon/10601/.../rec08/Rec08_Oct21.ppt)。我想问个问题。在扫描随机选择的特征及其信息增益值之后,我们选择特征j的IG值最大的特征。然后,我们如何使用这些信息进行拆分?这之后我们该怎么做呢?
发布于 2013-06-14 15:14:15
LearnTree(X, Y)设X是一个R×M矩阵,R个数据点和M个属性,Y包含R个元素,其中包含每个数据点的输出类。
j* = *argmaxj* **IG** j // (This is the splitting attribute we'll use)IG的最大值可以来自分类属性(基于文本)或真实属性(基于数字)。
->如果它来自分类属性(J):对于第j个属性中的每个值v,我们将定义一个新的矩阵,现在将X v和Y v作为输入派生一个子树。
Xv = subset of all the rows of X in which Xij = v;
Yv = corresponding subset of Y values;
Child v = LearnTree(Xv, Yv);PS:子树的数量将与jth属性中的唯一值v的数量相同
->如果它来自实值属性 (j):我们需要找出最佳分割阈值
PS:阈值t与为该属性提供最大IG值的值相同
define IG(Y|X:t) as H(Y) - H(Y|X:t)
define H(Y|X:t) = H(Y|X<t) P(X<t) + H(Y|X>=t) P(X>=t)
define IG*(Y|X) = maxt IG(Y|X:t)我们将对这个 t 值进行拆分,然后通过定义两对新的X t和Y t来定义两个ChildTrees。
X_lo = subset of all the rows whose Xij < t
Y_lo = corresponding subset Y values
Child_lo = LearnTree(X_lo, Y_lo)
X_hi = subset of all the rows whose Xij >t
Y_hi = corresponding subset Y values
Child_hi = LearnTree(X_hi, Y_hi)完成拆分后,然后对数据进行分类。
有关更多信息,请访问go here!
我希望我已经回答了你的问题。
https://stackoverflow.com/questions/11593124
复制相似问题