【问题标题】:How to get probability and label prediction at the same time using sklearn如何使用sklearn同时获得概率和标签预测
【发布时间】:2020-06-01 09:50:40
【问题描述】:

我有一个多类分类器,我需要同时获取概率和标签。

model.predict_proba(X) 返回每​​个数据点的所有训练类的概率。

model.predict(X) 返回每​​个数据点的标签。

我不想对每个数据点进行两次预测。

【问题讨论】:

  • 你可以使用 predict_proba 预测的概率。

标签: python machine-learning scikit-learn classification


【解决方案1】:

只需使用predict_proba,然后获取标签使用np.argmax

dataset = read_csv('pollution.csv', header=0, index_col=0)
x = dataset[['pollution', 'dew', 'temp', 'press', 'wnd_spd', 'snow']].values
y = dataset[['wnd_dir']].values
from sklearn.ensemble import RandomForestClassifier

cls = RandomForestClassifier(random_state=0)
cls.fit(x, y)

z = cls.predict_proba(x)
labels = np.argmax(z, axis=1)
classes = cls.classes_
labels = [classes[i] for i in labels]
print(accuracy_score(y, labels))

【讨论】:

  • 如果这被内置到 scikit 学习估计器中会很好。其他管道需要手动包装。
猜你喜欢
  • 2016-11-19
  • 2020-05-18
  • 2022-06-28
  • 2019-10-19
  • 2013-12-08
  • 2020-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多