gpt4 book ai didi

r - 训练 H2O 模型时忽略 ID 变量

转载 作者:行者123 更新时间:2023-11-30 09:33:57 26 4
gpt4 key购买 nike

如果有人能告诉我如何在创建(训练和测试模型)时保留 ID 变量作为指示变量而不是预测变量,那就太好了。我通过 R 使用 H2o。如果有人能用他们的想法回应,我将不胜感激。

最佳答案

我认为术语“指示变量”更常见的用法是指二元预测变量(不是唯一标识符),但听起来您是在问是否可以将 ID 列保留在数据框中,但是不要用它来预测。

这在 H2O 中很容易做到 - 您使用 x 参数来指示哪些列应用作预测变量,因此如果您将 ID 列排除在外,它将忽略它。虹膜数据示例:

library(h2o)
h2o.init()

iris$ID <- 1:nrow(iris) #add ID column
train <- as.h2o(iris)
fit <- h2o.gbm(x = 1:4, y = 5, training_frame = train) #fit a GBM

通过查看变量重要性,您可以看到 ID 没有被使用:

> h2o.varimp(fit)

Variable Importances:
variable relative_importance scaled_importance percentage
1 Petal.Width 258.856262 1.000000 0.563269
2 Petal.Length 195.480728 0.755171 0.425364
3 Sepal.Width 2.891532 0.011170 0.006292
4 Sepal.Length 2.332296 0.009010 0.005075

如果您在测试集上进行预测(这里我将仅使用训练集进行演示),那么模型也已经知道要忽略 ID 列。

> pred <- h2o.predict(fit, train)
> head(pred)
predict setosa versicolor virginica
1 setosa 0.9989301 0.0005656447 0.0005042210
2 setosa 0.9985183 0.0006462680 0.0008354416
3 setosa 0.9989298 0.0005663071 0.0005038929
4 setosa 0.9989310 0.0005660443 0.0005029535
5 setosa 0.9989315 0.0005649384 0.0005035886
6 setosa 0.9983457 0.0011517334 0.0005025218

关于r - 训练 H2O 模型时忽略 ID 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48553191/

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