[英]Ignore ID variable when training an H2O model
如果有人可以告诉我如何在创建(培训和测试模型)时将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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.