在具有 “ignore_const_cols” 参数的 h2o 模型中,如何确定一个列是否为“常数”?这与缺失值有关吗?
例如,如果一个列只有一个唯一的非缺失值,并且还有一些缺失值,并且选择了 “ignore_const_cols”,那么在这个列上是否不会进行分裂以将缺失值与一个常数值分开?
回答:
测试这一点很简单
R 代码:
library(h2o)h2o.init()iris_data<-as.data.frame(iris)iris_data$Petal.Width<-1iris_data[iris_data$Species=='setosa','Petal.Width']<-NAiris_h2o<-as.h2o(iris_data)h2o.gbm(training_frame=iris_h2o,y='Species')iris_data$Petal.Width<-as.factor(iris_data$Petal.Width)iris_h2o<-as.h2o(iris_data)h2o.gbm(training_frame=iris_h2o,y='Species')
无论包含缺失值的常数列是数值型还是因子型,都会显示相同的警告:
Warning message:In .h2o.startModelJob(algo, params, h2oRestApiVersion) : Dropping constant columns: [Petal.Width].
因此,您问题的答案似乎是 h2o 在确定一个列是否为常数时会忽略缺失值