【问题标题】:predicted_proba in multi-class logistic classification多类逻辑分类中的预测概率
【发布时间】:2017-06-12 17:30:13
【问题描述】:

我有 5 个班级作为输出,代表学生的预测 等级 - 1、2、3、4、5。

当我使用 predict_proba 输入我的值时,我得到每个类的概率。

例如。

1 级: 0.1 2 级: 0.4:3 级: 0.3 4 级:0.05 5 级: 0.15

但是,我从中得到的唯一信息是预测是:2 类,因为概率最高。如何将这些概率转换为更具体的预测,例如 2.4 或 2.9?其中 2 等于 2 类

这可能吗?如果是这样,怎么做?

非常感谢您抽出宝贵时间。

【问题讨论】:

  • @juanpa.arrivillaga 只给我第 2 类的预测,它没有给我小数或更具体的东西
  • “更具体”是什么意思?它怎么能比2 更具体?
  • 这个问题实际上没有意义,因为 分类 问题从特征空间映射到有限(尤其是小)离散集。您不会将其归类为“部分在一个,部分在另一个”桶中。
  • @apnorton 不是部分在一个,部分在另一个,它更像是它更倾向于基于概率的方式。

标签: python machine-learning scikit-learn


【解决方案1】:

这是一种快速的方法:

probs = LRC.predict_proba(x)
class_indexes = np.argmax(probs,axis=1)
max_probs = probs[np.arange(len(x)),class_indexes]
class_output = lrc.classes_[class_indexes]
class_prob_list = zip(class_output,max_probs)
print [str(cls)+'.'+str(prob) for cls,prob in class_prob_list]

【讨论】:

  • 谢谢,但是,len_data 似乎没有定义?
  • 最后一行也不是很清楚,没有定义cls和prob;/
  • 好吧,我测试了它——在我看来,它所做的一切都是以相应的概率为类串起来,并没有真正告诉我类倾向于哪种方式;/
  • 你必须为此训练一个回归模型。您也可以将这些要求放在问题描述中
  • 不用担心 - 感谢您的努力,无论如何我都将您标记为正确的帮助:)
猜你喜欢
  • 2018-07-05
  • 2018-10-12
  • 2016-03-08
  • 2021-11-24
  • 2016-01-05
  • 2019-09-16
  • 2017-06-12
  • 2016-07-09
  • 2015-02-01
相关资源
最近更新 更多