Apache spark 使用带有spark mllib的GradientBoostedTrees可以获得类概率吗?

Apache spark 使用带有spark mllib的GradientBoostedTrees可以获得类概率吗?,apache-spark,predict,apache-spark-mllib,Apache Spark,Predict,Apache Spark Mllib,我目前正在与spark mllib合作 我使用GradientBoostedTrees类的梯度增强算法创建了一个文本分类器: 目前,我获得预测以了解新元素的类别,但我希望获得类别概率(硬决策前的输出值) 在其他mllib算法(如逻辑回归)中,您可以从分类器中移除阈值以获得类别概率,但我找不到一种方法来对GradientBosstedTrees执行相同的过程。据我所知,这目前不可能,但在随机林中是可能的。据我所知,目前还不可能,但在随机林中是可能的。你可以看到这个链接……我在这里解释了一个过程

我目前正在与spark mllib合作

我使用GradientBoostedTrees类的梯度增强算法创建了一个文本分类器:

目前,我获得预测以了解新元素的类别,但我希望获得类别概率(硬决策前的输出值)


在其他mllib算法(如逻辑回归)中,您可以从分类器中移除阈值以获得类别概率,但我找不到一种方法来对GradientBosstedTrees执行相同的过程。

据我所知,这目前不可能,但在随机林中是可能的。

据我所知,目前还不可能,但在随机林中是可能的。

你可以看到这个链接……我在这里解释了一个过程

为了实现预测的概率和阈值,需要使用

print(model.toDebugString)

输出。我试图理解树是如何工作的,以预测哪一个在Spark之外是相当简单的。

你可以看到这个链接……我在这里解释了一个过程

为了实现预测的概率和阈值,需要使用

print(model.toDebugString)

输出。我试图理解树是如何工作的,以预测Spark之外的哪些是相当简单的。

在Spark MLLIB中,似乎不可能获得类概率

您只能获得最终的分类决策

这是一个遗憾,因为这些信息非常有用(如果你将样本分类为阳性,99.99%的可能性与51%的可能性不一样),并且一旦模型经过训练,就不难获得这些信息


另一种方法是使用不同的软件,如xgboost:

在Spark MLLIB中,似乎无法获得类别概率

您只能获得最终的分类决策

这是一个遗憾,因为这些信息非常有用(如果你将样本分类为阳性,99.99%的可能性与51%的可能性不一样),并且一旦模型经过训练,就不难获得这些信息

另一种方法是使用不同的软件,如xgboost: