gpt4 book ai didi

r - igraph'ing 嵌套模型

转载 作者:行者123 更新时间:2023-12-01 04:11:28 26 4
gpt4 key购买 nike

运行例如数据集上的 cv.glmnet 给了我(默认情况下)100 个不同的模型。现在,如果我的数据集缺少数据,我可以进行多次插补(比如 10 次插补)并对每个插补运行 cv.glmnet。

如果我不考虑每个模型的实际系数值,而只查看所选特征(即列名称集),则某些模型是其他模型的子模型。

像这样的代码在某种程度上模仿了结果:

usevars<-paste("var", 1:100, sep="")
mdls<-replicate(1000, {
numVars<-sample.int(length(usevars), 1)
sample(usevars, numVars)
})
names(mdls)<-paste("mdl", 1:1000, sep="")

现在,在这方面很容易获得子模型的父子关系。也可以只包括“直接 parent 身份”(即,如果模型 A 是 B 的 child ,而 B 是 C 的 child ,则不包括 A 和 C 之间的关系)。

最后,我来解决我的问题:我使用 igraph 来绘制这些模型及其(直接)关系。但是,我没有找到可以根据另一个变量(在这种情况下是模型大小)对节点进行分组的布局:在这种情况下,创建这个包含具有相同模型的模型“带”的图似乎是个好主意大小(模型中的变量数)。

我最终做的,是通过一堆代码或多或少地自己计算每个节点的位置(我太不好意思在这里发帖了),但我一直想知道我是否只是错过了更好的/出局-开箱即用的解决方案。

我自己的代码产生了这样的图表(你可以忽略颜色和标签——只要知道水平轴代表模型大小):
enter image description here

非常感谢关于比自己完成所有艰苦工作更优雅地实现这种图形的建议。

最佳答案

igraph开发版中的Fruchterman-Reingold布局算法(即0.6,尚未正式发布,但可以在mailing list上找Gábor发给你一份)有两个隐藏的(即尚未公开的)参数:minymaxy .它们允许您将节点的 Y 坐标限制在一个范围内,因此您可以使用它来创建图层。

或者,我现在正在为 igraph 实现 Sugiyama 分层图布局方法,我将在一两天内将其合并到开发树中(如果一切顺利),然后您可以尝试。

关于r - igraph'ing 嵌套模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5974979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com