通过sklearn中的决策树回归获得预测置信度

问题描述 投票:0回答:1

有没有一种方法可以使我对来自python决策树回归输出的预测充满信心?

from sklearn.tree import DecisionTreeRegressor
dt = DecisionTreeRegressor(random_state=0, criterion="mae")
dt_fit = dt.fit(X_train, y_train)

y_pred = dt_fit.predict(X_test)
python scikit-learn regression decision-tree confidence-interval
1个回答
0
投票

[如果您使用scikit学习,则可以获取每个数据点和每个类别的模型的概率(即模型认为该数据点属于每个类别的可能性)。如果“树”是模型的实例对象,并且“数据”包含数据,则语法如下:

print(tree.predict_proba(data))

这是我使用的数据集'X_test'和模型'tree'的示例:

>>> print(X_test.shape)
(143, 30)
>>> print(tree.predict_proba(X_test).shape)
(143, 2)
>>> print(tree.predict_proba(X_test)[:10])
[[0.00809717 0.99190283]
 [1.         0.        ]
 [1.         0.        ]
 [0.00809717 0.99190283]
 [0.00809717 0.99190283]
 [1.         0.        ]
 [1.         0.        ]
 [1.         0.        ]
 [1.         0.        ]
 [0.00809717 0.99190283]]

您可以从形状中看到,每个数据点都被分配了两个概率。每个标签一个(在这种情况下为两个)。因为这些是(经验)概率,所以它们总和为1。

但是,这些估算的好坏取决于模型和数据。

© www.soinside.com 2019 - 2024. All rights reserved.