有没有一种方法可以使我对来自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)
[如果您使用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。
但是,这些估算的好坏取决于模型和数据。