首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >随机森林查询

随机森林查询
EN

Stack Overflow用户
提问于 2012-07-21 22:44:39
回答 1查看 321关注 0票数 0

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

EN

回答 1

Stack Overflow用户

发布于 2013-06-14 15:14:15

代码语言:javascript
复制
LearnTree(X, Y)

设X是一个R×M矩阵,R个数据点和M个属性,Y包含R个元素,其中包含每个数据点的输出类。

代码语言:javascript
复制
j* = *argmaxj* **IG** j // (This is the splitting attribute we'll use)

IG的最大值可以来自分类属性(基于文本)或真实属性(基于数字)。

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

代码语言:javascript
复制
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值的值相同

代码语言:javascript
复制
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。

代码语言:javascript
复制
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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11593124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档