Python Tensorflow 2.0-我可以使用“tf.keras”从增强的树模型中获得类概率吗?
我正在Tensorflow 2.0中开发一个二进制分类模型。我有一些不同类型的模型,但我正在考虑使用一个增强的树模型来进行分类。然而,我需要我的模型来输出类概率。所以基本上是一个输出为0或1的概率,基于树。在这种情况下,通常可能是逻辑回归,但在这种情况下,我想尝试一种基于树的方法 我知道我可以在Tensorflow 2.0中使用增强树模型,使用Python Tensorflow 2.0-我可以使用“tf.keras”从增强的树模型中获得类概率吗?,python,tensorflow,keras,tree,classification,Python,Tensorflow,Keras,Tree,Classification,我正在Tensorflow 2.0中开发一个二进制分类模型。我有一些不同类型的模型,但我正在考虑使用一个增强的树模型来进行分类。然而,我需要我的模型来输出类概率。所以基本上是一个输出为0或1的概率,基于树。在这种情况下,通常可能是逻辑回归,但在这种情况下,我想尝试一种基于树的方法 我知道我可以在Tensorflow 2.0中使用增强树模型,使用tf.Estimatorsapi,但是为了获得类概率,我通常需要一个最终的tf.keras密集层和一个sigmoid激活。所以理论上我想要下面的代码。下面
tf.Estimators
api,但是为了获得类概率,我通常需要一个最终的tf.keras
密集层和一个sigmoid激活。所以理论上我想要下面的代码。下面的代码不起作用,但本质上是伪代码,因为我不相信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导入为tf
从tensorflow进口keras
模型=keras.连续([
tf.estimator.BoostedTreesClassifier(特征列,**参数),#你得到答案了吗?我也在想这个问题…是的。我想如果你把感测节点的数量等于类的数量,比如说3个类,然后是3个节点。那么你应该得到每个类的概率作为输出。如果每个节点被限制在0和1之间,那么sigmoid特性应该给你一个probability.我最近没有测试过这个,但它应该可以工作。谢谢!我想我有一个更基本的问题,如何从估计器(tf.estimator.BoostedTreesClassifier)获得输出,并在下一层使用输出?因为我想使用BoostedTrees进行特征转换,然后将其输入到密集层