插入符R中火车使用的默认分配和链接功能

问题描述 投票:0回答:1

我希望这个问题不太愚蠢,但由于某种原因我似乎没有在任何地方找到答案。我的问题可以概括为:我如何知道插入符号中的训练函数使用的模型开发中使用的分布和链接函数? 更具体地说:我有一个包含房屋价值(Value_House)和房屋特征(协变量)的数据集(My_Data)。这个想法是根据房屋的协变量来预测房屋的价值。我想使用 R 使用 AIC 最小化标准来选择特征,因此我使用插入符号包和指令:

 My_model<-train(Form=Value_House~.,data=My_Data,na.action=na.pass,method="glmStepAIC")

我得到了一个模型,一切看起来都很合理。然而,我一直在尝试查找有关拟合过程中使用的分布以及相应链接函数的信息,但我在返回值或帮助中没有看到它。有人可以告诉我如何才能看到这些信息吗?是否可以更改默认值? 预先感谢。

r regression caret
1个回答
0
投票

我同意这可以得到更好的记录。当用于回归时,

train()
使用
gaussian()
作为族(即线性模型),当用于二元分类时,它使用
binomial()
,默认为逻辑回归。
family
参数可以直接传递给
train()
,就像传递给
glm()
一样,以准确指定您要使用的系列。例如,您可以提供
family = poisson()
来请求带有日志链接的泊松回归模型,或者提供
family = binomial("probit")
来请求概率回归模型。

我通过使用

caret::getModelInfo("glmStepAIC")
学到了这一点,它生成一个带有
fit
组件的对象,其中包含用于拟合模型的函数。阅读代码,我可以看到如果未提供
family
,则默认为我上面提到的值。特别是,此代码表明:

if (!any(names(theDots) == "family")) {
    glmArgs$family <- if (is.factor(y)) binomial() else gaussian()
}
else glmArgs$family <- theDots$family

这些论点最终被传递给

glm()
,正如@Roland 在OP 评论中所建议的那样。

© www.soinside.com 2019 - 2024. All rights reserved.