我的目标是创建一个partial dependence plot (PDP),以显示我的h2o随机森林模型的响应上两个输入变量的相互作用。这是示例情况的可重现设置:
void f(int b[], size_t n)
// ^^^^^^^ in function parameter lists, just alternative syntax for int* b !!!
// however, we can show more explicitly that we expect a pointer
// to an array this way...
{
size_t m = sizeof(b); // as b is a POINTER, gives the constant (but hardware specific!)
// size of a pointer (typical modern 64-bit hardware 8 bytes),
// no matter what size of the array being pointed to is!!!
while(n)
{
*b++ = n--;
// ^^ advances pointer, NOT array!
}
}
上面的代码分别为library(h2o)
data(diabetes, package = 'lars')
h2o.init()
train_data <- as.h2o(cbind(diabetes$x, target=diabetes$y))
X_names <- colnames(diabetes$x)
y_name <- "target"
rf <- h2o.randomForest(x=X_names, y=y_name, training_frame=train_data,
ntrees=10, max_depth=5)
h2o.partialPlot(rf, train_data, c("age", "bmi"))
和age
绘制了两个PDP,但是没有显示出它们一起变化时如何影响响应。
假设我想在3维绘图中在x轴上绘制bmi
,在y轴上绘制age
,在z轴上绘制平均响应。
h2o中是否有功能(或良好实践准则)可帮助构建此类图?我可以自己创建响应数据来解决问题,但这可能会有些麻烦。
查看相关内容:
https://stats.stackexchange.com/questions/197455/how-to-plot-3d-partial-dependence-in-gbm
答案 0 :(得分:0)
这不是h2o.partialPlot
的功能。您可以在documentation和source code中进行验证。
我认为您的选择包括
h2o
数据配合使用