问题标签 [party]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 如何从 `party::cforest()` 获取 OOB 混淆矩阵?
包中的randomForest()
函数randomForest
非常有用地提供了基于分类中袋外预测的混淆矩阵。
包中的cforest()
函数似乎没有提供这些信息。在文档中搜索“confusion”并没有产生任何有用的信息,在此处搜索也没有。也许我忽略了什么?party
party
有没有办法获得party::cforest()
分类模型的 OOB 混淆矩阵?
r - partykit 中节点的深度
我正在使用partykit
R 包构建一棵树,我想知道是否有一种简单有效的方法来确定每个内部节点的深度数。例如,根节点的深度为 0,前两个子节点的深度为 1,下一个子节点的深度为 2,依此类推。这最终将用于计算变量的最小深度。下面是一个非常基本的示例(取自vignette("constparty", package="partykit")
):
在这个例子中,我想输出类似于:
如果我的问题太具体,我深表歉意。
r - 遍历二叉树以获取拆分条件 - ctree(party),递归函数
我正在尝试使用通用数据集重现我的数据集出现的错误。如果我遗漏了什么,请纠正我。
使用拟合Classification
树后library(party)
,我试图在每个节点上获取树的拆分条件。我设法编写了一个我认为运行良好的代码,直到我发现了一个错误。谁能帮我解决它?
我的代码:
现在,结果给了我所有节点的列表以及拆分条件和预测(我假设)。但是,当我检查拆分条件时
- Node5上的预期输出:{1.1, 1.2, 1.6, 1.7 }
# from printing the tree print(ct), I get this
我从我的函数得到的Node5 的输出: {"1" , "1.3" ,"1.4" ,"1.5" } 这基本上是 Node6 的拆分条件,这是错误的。我是怎么得到这个的?
/li>z <- result[2] #I know node5 is second in the list
我怀疑的是,我的函数(recurse_tree
)总是给我右终端节点而不是左节点的分裂条件。任何帮助将不胜感激。
r - 尝试使用 R 中的派对包测试模型时出现参数长度错误
我将我的数据集分为两组:
- transactions.Train(80% 的数据)
- transactions.test(20% 的数据)
然后我使用派对包中的 ctree 方法构建了决策树,如下所示:
我可以成功地在训练集上应用预测方法并使用表函数输出结果如下:
但是当我尝试根据测试集输出表格时,出现了我的问题,如下所示:
错误如下:
我对类似案例进行了研究,这些案例建议省略我所做的任何 NA 值而不改变错误结果。
任何人都可以通过指出这里的问题来帮助我吗?
r - partykit 对象变量不匹配
我正在使用partykit
并注意到可能的varid
不匹配(除非我误解了什么)。下面是示例代码。
由返回的根节点将nodeapply
变量 5 显示为拆分变量。
显式生成的列表的第一个元素也有split$varid
5。如果我们查看iris
数据框,那么第 5 列是Species
,并且Petal.Width
是第 4 列,它应该是对象varid
所示的根节点j48_party
。
似乎varid
使用了+1的实际功能,这是故意的吗?
r - 无法获得 partykit 包的 mob 功能来进行单变量 MLE 拟合
我无法让 partykit 包的 mob 函数进行单变量 MLE 拟合。
UseMethod("estfun") 中的错误:没有适用于 'estfun' 的方法应用于类“fitdistr”的对象 当使用 glm 而不是 fitdistr 时,不会出现上述错误消息
r - 使用partykit 的自定义拆分规则
这篇文章遵循这个问题:https ://stackoverflow.com/questions/31234329/rpart-user-defined-implementation
我对可以使用自定义标准处理树生长的工具非常感兴趣,这样我就可以测试不同的模型。
我尝试使用 partykit R 包来生长一棵树,其拆分规则由 Cox 模型的负对数似然给出(在 Cox 模型的情况下为对数准似然)并且拟合了 Cox 模型在每一片叶子上。
据我了解阅读有关 MOB 函数的小插图,有两种方法可以实现我自己的拆分标准,即让 fit 函数返回列表或模型对象。
出于我的目的,我尝试了这两种解决方案,但未能成功。
解决方案 1:返回一个列表对象:
我以“mob”小插曲中的“乳腺癌数据集”为例。
我试过这个:
有一个关于 X 矩阵奇点的警告,并且 mob 函数是一个具有单个节点的树(即使 alpha 值较小)。
请注意,在运行 coxph 函数时,X 矩阵没有奇点问题:
解决方案 2:返回一个 coxph.object :
我试过这个:
所以这次我沿着“progrec”变量进行了拆分:
我想知道我的解决方案 1 有什么问题。
我还为回归问题尝试了类似的方法并得到了相同的结果,以单叶结尾:
另外我想知道使用“将模型拟合到节点中”和“进行拆分”的变量是否没有问题。
先感谢您。
我可能还有其他关于partykit 功能的问题。
r - 并行训练一个 cforest
我有一个非常大的数据框,包含 790,000 行和 140 个预测变量。其中一些是相互密切相关的,并且在不同的尺度上。有了这个randomForest
包,我可以只使用一小部分数据样本在每个核心上种植一个森林,使用foreach
它们并将它们与combine()
函数合并以获得一棵大树,如下所示:
不同尺度的相关变量让我想使用party
包中的条件随机森林,但是没有combine()
用于 cforests 的方法,所以我不确定如何组合几个 cforest 对象来获得一个重要性图或一个预测。
有没有办法在较小的数据子集上训练一个大的 cforest,或者制作几个小的 cforest 并将它们组合成一个更大的条件森林模型?