0

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

4

1 回答 1

1
LearnTree(X, Y)

令 X 为 R x M 矩阵、R-datapoints 和 M-attributes 以及带有 R 个元素的 Y,其中包含每个数据点的输出类。

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:子树的数量将与第 j 个属性中唯一值 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 对来定义两个 ChildTree。

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)

拆分完成后,然后对数据进行分类。

欲了解更多信息,请访问此处

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

于 2013-06-14T07:14:15.420 回答