predict_proba 方法如何适用于 sklearn 中 DecisionTreeClassifier 中的输入样本 X?

Posted

技术标签:

【中文标题】predict_proba 方法如何适用于 sklearn 中 DecisionTreeClassifier 中的输入样本 X?【英文标题】:How method predict_proba works for input samples X in DecisionTreeClassifier in sklearn? 【发布时间】:2021-10-14 03:36:44 【问题描述】:

DecisionTreeClassifier 有一个方法 predict_proba 计算输入数据点 X 的概率。如何为已经训练好的模型计算这个预测概率?

【问题讨论】:

【参考方案1】:

预测的类概率是叶子中同一类的样本的分数。这意味着如果您的叶子包含10 x 190 x 0。标签为 1 的概率将是 10%,如本例所示:

from sklearn.tree import DecisionTreeClassifier
import numpy as np

X = np.zeros((100, 1))
y = np.zeros((100, ))
y[-10:] = 1
dtc = DecisionTreeClassifier(max_depth=1).fit(X, y)
dtc.predict_proba([[0]])

哪个输出:

array([[0.9, 0.1]])

【讨论】:

好的。你认为1的概率应该是10吗?因为我们有 10 个目标值为 1 的数据点。@Antoine 我添加了一个例子来说明我的答案

以上是关于predict_proba 方法如何适用于 sklearn 中 DecisionTreeClassifier 中的输入样本 X?的主要内容,如果未能解决你的问题,请参考以下文章

适用于 iOS 7.1 的带有 swift 的 SKShapeNode

如何修复 TypeError:predict_proba() 缺少 1 个必需的位置参数:'X'

如何在 clf.predict_proba() 中找到对应的类

scikit-learn/svm - 在“predict_proba”之后获取概率和相关标签

sklearn 的 Adaboost predict_proba 如何在内部工作?

MLPClassfier predict 和 predict_proba 似乎不一致