我正在使用 h2o 构建 gbm 模型。训练数据随机分为 70% 的开发数据和 30% 的实时验证数据。训练数据有 1.4% 的错误率,我还需要为每个观察分配权重(数据有一个权重列)。观察结果是:与没有权重的模型(VAL)相比,使用权重构建的模型在开发数据(DEV)上的性能要高得多。使用权重构建的模型在开发数据和实时验证数据之间具有很大的性能差异。例如,具有权重的模型构建显示低于前 10% 的捕获率
开发:56%
验证:25%
虽然没有重量的模型构建显示低于前 10% 的捕获率:
开发:35%
验证:23%
似乎在这种情况下使用权重有助于提高模型在开发和实时验证数据上的性能。想知道在 h2o 中究竟是如何使用重量的?在模型构建中使用权重,模型在 DEV 和 VAL 上的较大性能差异是否说明 gbm 模型在 h2o 中构建的不稳定性更高?
蓝色曲线是 DEV,橙色曲线是VAL>
。对于没有重量的情况,DEV 和 VAL 的对数损失从同一点开始。而对于加权情况,DEV 和 VAL 的对数损失从两个不同的点开始。如何解释这个日志损失图表,为什么 h2o gbm 中的权重会在日志损失函数输出中产生如此不同的结果?