我试图用h2o deeplearning模型预测美国机场的滑行时间:
#Deep learning neural network
deep<-h2o.deeplearning(
training_frame = train,
validation_frame = valid,
x=predictors,
y=target,
#distribution = "gaussian",
#loss = "Automatic",
hidden=c(200,200,200),
epochs = 50,
#activation="Rectifier",
stopping_metric="deviance",
stopping_tolerance=1e-4, # stops when deviance does not improve by
>=0.0001 for 5 scoring events
)
summary(deep)
这是截断的变量重要性列表:
变量重要性:
variable relative_importance scaled_importance percentage
1 Event_1.Fog 1.000000 1.000000 0.024205
2 Event_2.Rain 0.983211 0.983211 0.023799
3 CARRIER.NK 0.946493 0.946493 0.022910
4 Event_1.noevent 0.936131 0.936131 0.022659
5 cos_deptime 0.934558 0.934558 0.022621
我理解“重要性”是根据变量的相对影响来计算的,但我如何知道该变量是否有助于增加或减少滑行时间? h2o是否用符号显示每个变量的系数? 我已经阅读了这篇文章http://h2o-release.s3.amazonaws.com/h2o/latest_stable_doc.html,但它没有解释,例如,变量雾或雨是否会增加或减少滑行时间以及减少多少。
答案 0 :(得分:1)
H2O深度学习(或RF或GBM,对此问题)的变量重要性与GLM中的系数大小(可以是正数或负数)没有相同的解释,这正是您所描述的。它可以被解释为&#34;这个变量在预测结果中的重要性,并且该度量与模型中的其他变量相关。
如H2O Deep Learning documentation中所述,我们使用一种称为Gedeon方法的技术来计算此度量。 (RF和GBM使用不同的方法)。