如何查看caret包train函数glmStepAIC方法的默认分布与链接函数?
问题解答:查看glmStepAIC模型的分布与链接函数及修改默认值
一、查看当前模型的分布和链接函数
glmStepAIC本质是基于glm实现的特征筛选,caret的train函数返回的模型对象中,最终拟合的模型存储在$finalModel字段里。你可以直接提取该字段的family属性来查看分布和链接函数:
# 打印分布与链接函数信息 print(My_model$finalModel$family) # 查看更详细的结构 str(My_model$finalModel$family)
默认情况下,因为你的目标变量是连续型的房屋价值,模型会使用高斯分布(gaussian)和恒等链接函数(identity),输出结果类似:
Family: gaussian Link function: identity
二、修改默认的分布与链接函数
你可以通过在train函数中直接传递family参数来修改默认设置,所有glm支持的分布和链接函数都适用。比如:
- 使用gamma分布+逆链接函数(适合右偏的连续因变量):
My_model <- train(Form=Value_House~., data=My_Data, na.action=na.pass, method="glmStepAIC", family=gamma(link="inverse"))
- 使用高斯分布+对数链接函数(适合需要对数转换的因变量):
My_model <- train(Form=Value_House~., data=My_Data, na.action=na.pass, method="glmStepAIC", family=gaussian(link="log"))
原理是train函数会把family参数传递给底层的glmStepAIC函数,从而覆盖默认的分布和链接设置。
内容的提问来源于stack exchange,提问作者Mr.Anugar
相关产品推荐
相关产品推荐

