Random 随机森林查询

Random 随机森林查询,random,random-forest,Random,Random Forest,我正在做一个基于随机森林的项目。我看了一个ppt(Rec08\u Oct21.ppt)(www.cs.cmu.edu/~ggordon/10601/../Rec08/Rec08\u Oct21.ppt) 关于随机森林创建。我想问一个问题。 在扫描随机选择的特征及其信息增益值后,我们选择IG最大值的特征作为特征j。那么,我们如何使用这些信息进行拆分?在这之后我们该怎么做 LearnTree(X, Y) 设X是一个rxm矩阵,R-datapoints和M-attributes,Y有R个元素,其中包

我正在做一个基于随机森林的项目。我看了一个ppt(Rec08\u Oct21.ppt)(www.cs.cmu.edu/~ggordon/10601/../Rec08/Rec08\u Oct21.ppt) 关于随机森林创建。我想问一个问题。 在扫描随机选择的特征及其信息增益值后,我们选择IG最大值的特征作为特征j。那么,我们如何使用这些信息进行拆分?在这之后我们该怎么做

LearnTree(X, Y)
设X是一个rxm矩阵,R-datapoints和M-attributes,Y有R个元素,其中包含每个数据点的输出类

j* = *argmaxj* **IG** j // (This is the splitting attribute we'll use)
IG的最大值可以来自分类(基于文本)或实数(基于数字)属性

--->如果它来自分类属性(j):对于jth属性中的每个值v,我们将定义一个新的矩阵,现在以xv和yv作为输入,派生一个子树

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值的值相同

将IG(Y | X:t)定义为H(Y)-H(Y | X:t)
定义H(Y | X:t)=H(Y | X=t)
定义IG*(Y | X)=最大IG(Y | X:t)
我们将拆分这个t值,然后通过定义两对新的Xt和Yt来定义两个子树

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)
X_lo=Xijt的所有行的子集
Y_hi=对应的子集Y值
Child\u hi=LearnTree(X\u hi,Y\u hi)
分割完成后,数据将被分类

欲了解更多信息


我希望我回答了你的问题。

我对一般治疗投了赞成票。但“转到这里”链接已断开。您还可以看看我的java实现
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)