首页 > 解决方案 > Tensorflow 2.0 - 我可以使用 `tf.keras` 从 Boosted Tree 模型中获取类概率吗?

问题描述

我正在研究 Tensorflow 2.0 中的二元分类模型。我有几种不同类型的模型,但我正在考虑使用 Boosted Tree 模型进行分类。但是,我需要我的模型来输出类概率。所以基本上输出为 0 或 1 的概率,基于树。在这种情况下,通常可能是逻辑回归,但在这种情况下,我想尝试一种基于树的方法。

我知道我可以使用tf.Estimatorsapi 在 Tensorflow 2.0 中使用增强树模型,但是为了获得类概率,我通常需要一个tf.keras带有 sigmoid 激活的最终 Dense 层。所以理论上我想要下面的代码。下面的代码不起作用,但本质上是伪代码,因为我不相信Keras模型不适用于tf.Estimators,但这是我想做的。

import tensorflow as tf
from tensorflow import keras

model = keras.Sequential([
      tf.estimator.BoostedTreesClassifier(feature_columns, **params), # <-- HOW TO DO THIS?
      keras.layers.Dense(1, activation='sigmoid',
                         bias_initializer=output_bias),
  ])

有谁知道如何在 Tensorflow 2.0 中做到这一点?

标签: pythontensorflowkerastreeclassification

解决方案


推荐阅读