gpt4 book ai didi

r - 在 R 的 GAM 模型中处理具有特殊(非物理)值的数值变量

转载 作者:行者123 更新时间:2023-11-30 09:37:43 25 4
gpt4 key购买 nike

我正在使用 mgcv 构建 GAM 模型,并且具有如下功能:

value:  -1000     0     1     2     3     4     5     6     7     8 
count: 42943 978 1069 402 145 43 7 1 1 1

此功能有一个特殊值-1000,表示没有记录。只有 >0 的值才具有物理意义。

对整个范围使用平滑样条没有意义,因为 -1000 到 >0 之间的距离没有意义。

将此变量转换为分类因子变量并使用分段常数函数有时也不是很方便,因为如果有这么多离散值,训练(测试)集很容易错过因子水平。

有什么好的方法来处理这种类型的功能吗?我不想简单地删除它们,因为 >0 部分仍然提供一些区分能力。

最佳答案

首先,正如您所说,“-1000 表示没有记录”,因此您不能将这个变量视为刻度变量,因为 -1000 更像是一个符号而不是一个数字(即使您有负值)。

所以,你要做的改变/转变必须有一个目标,因为你可以尝试各种事情。我想这里的目标是提高模型的预测能力。这意味着尝试各种转变,看看会发生什么。您可以尝试:

a) 将 -1000 替换为 NA

b) 通过将此变量分组为范围(可能基于分位数)来创建分类变量,但获得合理数量的范围。类似“无记录”、“0”、“1”、“2+”。也许创建一个决策树或回归树(取决于您的结果变量)并让它将您的变量分成几组。

c) 如果“无记录”意味着“缺少记录”而不是“没有记录”,那么您可能会考虑以某种方式获取该记录,因为“无记录”案例占该列案例的 94%。这可能意味着将该变量简单地拆分为“无记录”和“记录存在”。

关于r - 在 R 的 GAM 模型中处理具有特殊(非物理)值的数值变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31887356/

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