Questions tagged «cart»

“分类树和回归树”。CART是一种流行的机器学习技术,它构成了诸如随机森林和梯度增强机器的常见实现之类的技术的基础。

2
具有多个输出的随机森林是否可能/可行?
随机森林(RF)是一种竞争性的数据建模/挖掘方法。 RF模型具有一个输出-输出/预测变量。 用RF建模多个输出的简单方法是为每个输出变量构造一个RF。因此,我们有N个独立的模型,并且在输出变量之间存在相关性的地方,我们将具有冗余/重复的模型结构。确实,这可能非常浪费。通常,更多的模型变量意味着更多的拟合模型(较少的泛化)。不知道这是否适用于此,但可能适用。 原则上我们可以有一个带有多个输出的RF。预测变量现在是一个向量(n元组)。现在,每个决策树中的决策节点都基于阈值向量拆分目标/预测向量集,我认为该阈值被视为n维空间中的一个平面,因此我们可以确定阈值的哪一侧向量每个目标向量都打开。 决策拆分每一侧的最佳预测值是为每一侧的向量计算的平均值(质心)。 在处理单个变量时找到最佳分割点很简单,而且计算速度快/效率高。对于n元组,我们无法找到最佳拆分(或者至少随着N的增加,它在计算上变得不可行),但是我们可以使用Monte Carlo类型方法(或Monte Carlo和Local的某种混合)找到接近最佳拆分梯度遍历)。 这真的行得通吗?也就是说,它是否可以仅映射训练对而不进行概括?此技术是否已经以其他名称存在? 您可能还需要考虑这与诸如限制玻尔兹曼机器(RBM)和深度信念网络之类的神经网络之间的关系。

2
在CART中选择复杂度参数
在用于创建CART模型的rpart()例程中,指定要将树修剪到的复杂度参数。对于选择复杂度参数,我看到了两种不同的建议: 选择与最小可能的交叉验证错误关联的复杂性参数。Quick-R和HSAUR 建议使用此方法。 选择最大复杂度参数,其估计的交叉验证误差仍在最小可能交叉验证误差的SE之内。这是我的包文档的解释,它说:“为修剪一个很好的选择CP往往是最左边的值,其平均谎言低于水平线”中提到此情节。 cp的两个选择在我的数据集中产生了完全不同的树。 似乎第一种方法将始终生成更复杂的,可能过度拟合的树。在文献中还存在其他优点,缺点和建议等。在决定使用哪种方法时应考虑在内?如果可以的话,我可以提供有关我的特定建模问题的更多信息,但是我试图将这个问题范围扩大到与其他问题相关。
16 r  cart  rpart 

1
两个决策树的总和是否等于单个决策树?
假设我们有两个回归树(树A和B树),该地图输入为输出。对于树A,让对于树B,让。每棵树都使用二进制拆分,并以超平面作为分离函数。X ∈ řdX∈[Rdx \in \mathbb{R}^d Ŷ =˚F甲(X)˚F乙(X)ÿ^∈ [Rÿ^∈[R\hat{y} \in \mathbb{R}ÿ^= f一种(x )ÿ^=F一种(X)\hat{y} = f_A(x)F乙(x )F乙(X)f_B(x) 现在,假设我们对树的输出进行加权求和: FC(x )= w一种 F一种(x )+ w乙 F乙(x )FC(X)=w一种 F一种(X)+w乙 F乙(X)f_C(x) = w_A \ f_A(x) + w_B \ f_B(x) 函数等效于单个(更深的)回归树?FCFCf_C如果答案是“有时”,那么在什么条件下? 理想情况下,我想允许倾斜的超平面(即对特征的线性组合执行的分割)。但是,如果这是唯一的答案,那么假设单功能拆分可能是可以的。 例 这是在2d输入空间上定义的两个回归树: 该图显示了每棵树如何划分输入空间以及每个区域的输出(以灰度编码)。彩色数字表示输入空间的区域:3、4、5、6对应于叶节点。1是3和4的并集,依此类推。 现在假设我们对树A和树B的输出求平均: 平均输出在左侧绘制,树A和B的决策边界重叠。在这种情况下,可以构造一棵更深的树,其输出等于平均值​​(在右侧绘制)。每个节点对应于输入空间的一个区域,该区域可以在树A和B定义的区域之外构建(由每个节点上的彩色数字表示;多个数字表示两个区域的交集)。请注意,这棵树不是唯一的-我们可能已经从树B而不是树A开始构建。 此示例表明,在某些情况下答案为“是”。我想知道这是否总是对的。

1
子节点的Gini减少和Gini杂质
我正在研究随机森林的基尼特征重要性度量。因此,我需要计算节点杂质的基尼系数降低。这是我这样做的方式,它导致与定义的冲突,表明我在某处一定是错误的... :) 对于一个二叉树,给定左右子节点的概率,我可以计算出节点的基尼杂质:nnn i(n)=1−p2l−p2ri(n)=1−pl2−pr2 i(n) = 1 - p_l^2 - p_r^2 基尼值下降: Δi(n)=i(n)−pli(nl)−pri(nr)Δi(n)=i(n)−pli(nl)−pri(nr) \Delta i(n) = i(n) - p_li(n_l) - p_ri(n_r) 因此,对于在一个节点上有110个观察值的示例: - node (110) - left (100) - left_left (60) - left_right (40) - right (10) - right_left (5) - right_right (5) 我会像这样计算节点的Gini减少量: i(left)i(right)i(node)=1−(60/100)2−(40/100)2=1−(5/10)2−(5/10)2=1−(100/110)2−(10/110)2=0.48=0.50=0.16i(left)=1−(60/100)²−(40/100)²=0.48i(right)=1−(5/10)²−(5/10)²=0.50i(node)=1−(100/110)²−(10/110)²=0.16\begin{align} i({\rm left}) &= 1 - …

2
在R中对树进行分区:party与rpart
自从我看着分区树已经有一段时间了。上次我做这种事情时,我喜欢R中的聚会(由Hothorn创建)。通过采样进行条件推断的想法对我来说很有意义。但是,rpart也具有吸引力。 在当前的应用程序中(我无法提供详细信息,但是它涉及尝试确定谁将在大量被捕者中入狱),我无法使用高级方法,例如随机森林,装袋,助推等。-我需要一个容易解释的方法规则。 我还希望对拆分的节点进行一些手动控制,如Zhang&Singer(2010)递归分区和应用中所建议。该书随附的免费软件允许这样做,但在其用户输入中相当原始。 有什么建议或建议吗?
15 r  cart  rpart  partitioning 

1
预测连续变量时应如何实施决策树拆分?
我实际上是在编写随机森林的实现,但我相信这个问题特定于决策树(独立于RF)。 因此,上下文是我正在决策树中创建一个节点,并且预测变量和目标变量都是连续的。该节点有一个分割阈值,可将数据划分为两个集合,我根据每个集合中的平均目标值为每个子集创建新的预测。这是正确的方法吗? 我问的原因是,在预测二进制变量时,我相信典型的方法(正确吗?)是将数据分为0和1个子集,而不需要对每个子集的数据行取平均值。随后的分割将被划分为更细粒度的子集,并在每个分割处取平均值,结果后续的分割(决策树下方)将根据现在的连续变量而不是二进制变量进行操作(因为我们对残差值而不是原始值进行运算)目标)。 附带的问题:两种方法(二进制方法与连续方法)之间的区别是否显着-还是对于完整的决策树它们实际上会给出相同的结果?


1
决策树的深度
由于决策树算法在每个步骤都对属性进行分割,因此决策树的最大深度等于数据的属性数。它是否正确?

3
每叶具有线性回归模型的回归树算法
简短版:我正在寻找可以构建决策树的R包,而决策树中的每个叶子都是完整的线性回归模型。AFAIK,该库rpart创建决策树,其中因变量在每个叶子中都是恒定的。是否存在rpart可以构建此类树的另一个库(或我不知道的设置)? 加长版:我正在寻找一种基于训练数据集构建决策树的算法。树中的每个决策根据自变量之一的条件将训练数据集分为两部分。树的根包含完整的数据集,并且数据集中的每一项仅包含在一个叶节点中。 该算法如下所示: 从完整的数据集开始,该数据集是树的根节点。选择这个节点,并调用它。NNN 在的数据上创建线性回归模型。NNN 如果的的线性模型比某个阈值更高,那么我们已处理完毕的,所以标记作为叶并跳转到步骤5。R2R2R^2NNNθR2θR2\theta_{R^2}NNNNNN 尝试随机决策,然后选择在子节点中产生最佳决策: nnnR2R2R^2 选择一个随机独立变量,以及一个随机阈值θ 我。viviv_iθiθi\theta_i 决定拆分所述数据集的Ñ成两个新节点,Ñ和〜Ñ。vi≤θivi≤θiv_i \leq \theta_iNNNN^N^\hat{N}N~N~\tilde{N} 创建两个线性回归模型Ñ和〜Ñ,并计算它们的- [R 2(它们调用ř和〜- [R )。N^N^\hat{N}N~N~\tilde{N}R2R2R^2r^r^\hat{r}r~r~\tilde{r} 从所有这些元组(v 我,θ 我,- [R , 〜 - [R )中,选择一个具有最大米我Ñ ([R , 〜 - [R )。 这就产生了树一个新的决定,并ñ有两个新的子节点ñ和〜ñ。nnn(vi,θi,r^,r~)(vi,θi,r^,r~)(v_i, \theta_i, \hat{r}, \tilde{r})min(r^,r~)min(r^,r~)min(\hat{r}, \tilde{r})NNNN^N^\hat{N}N~N~\tilde{N} 我们已经完成了处理。选择一个尚未处理的新节点N,然后返回步骤2。如果所有节点均已处理,则算法结束。NNNNNN 这将以递归方式建立决策树,将数据分成较小的部分,并在每个部分上计算线性模型。 步骤3是退出条件,可以防止算法过度拟合。当然,还有其他可能的退出条件: 出口如果的树中的深度为上述θ d Ë p 吨ħNNNθdepthθdepth\theta_{depth} 出口如果在数据集中小于θ d 一吨一个小号ë 吨NNNθdatasetθdataset\theta_{data …
14 r  regression  rpart  cart 

3
可以使CART模型健壮吗?
我办公室的一位同事今天对我说:“树模型不好,因为它们被极端的观察所捕获”。 此处的搜索导致该线程基本上支持该声明。 这就引出了我的问题-在什么情况下CART模型可以保持稳健,如何显示?

2
分类和回归树背后的数学
有人可以帮助解释CART中分类背后的一些数学吗?我想了解两个主要阶段是如何发生的。例如,我在数据集上训练了CART分类器,并使用测试数据集来标记其预测性能,但是: 如何选择树的初始根? 每个分支为何以及如何形成? 我的数据集包含15列23类的40万条记录,从混淆矩阵中获得了100%的准确性,我对数据集使用了10倍交叉验证。如果有人能帮助解释CART分类的阶段,我将非常感激。

5
随机森林和决策树算法
随机森林是遵循装袋概念的决策树的集合。当我们从一个决策树移动到下一个决策树时,从上一个决策树中学到的信息将如何前进到下一个决策树? 因为,按照我的理解,没有什么像训练过的模型那样可以为每个决策树创建然后在下一个决策树开始从错误分类的错误中学习之前加载的。 那么它是怎样工作的?

3
多层次/层次结构数据上的随机森林
我对机器学习,CART技术等并不陌生,我希望我的天真不会太明显。 随机森林如何处理多级/分层数据结构(例如,当需要进行跨级交互时)? 也就是说,在几个层次级别上具有分析单位的数据集(例如,嵌套在学校中的学生,以及有关学生和学校的数据)。 仅作为示例,考虑一个多级数据集,其中第一级的个人(例如,具有投票行为,人口统计等数据)嵌套在第二级的国家中(具有国家级数据;例如,人口): ID voted age female country population 1 1 19 1 1 53.01 2 1 23 0 1 53.01 3 0 43 1 1 53.01 4 1 27 1 1 53.01 5 0 67 0 1 53.01 6 1 34 1 2 47.54 7 0 54 1 …

9
增强了python中的决策树?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为交叉验证的主题。 5个月前关闭。 是否有一个好的Python库用于训练增强型决策树?
13 python  cart  boosting 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.