【问题标题】:How to get predicted class label from predicted probabilities in one step?如何一步从预测概率中得到预测的类标签?
【发布时间】:2020-04-13 08:19:15
【问题描述】:

目前,我正在使用下面给定的代码来计算概率分数和预测的类标签。

y_score = cross_val_predict(clf, X, y, cv=10 ,method='predict_proba')
y_pred = cross_val_predict(clf, X, y, cv=10 ) 

但这是一种计算成本高昂的方法,因为必须运行整个模型两次,有没有什么方法可以一步完成。或者我怎样才能将概率转化为类标签?

谢谢

【问题讨论】:

    标签: python machine-learning scikit-learn


    【解决方案1】:

    使用概率,如果它是一个单热编码目标数组,则使用np.argmax()。它将返回概率最高的位置(预测),例如第 1、2 或 3 行。

    如果您在一维数组中有两个类,请使用 np.round(),这样您就可以得到类别 0 和 1 的预测值。您可能需要转换为 int 才能工作。

    【讨论】:

    • 谢谢您的回答,如果在多分类的情况下,两个分类共享相同的概率值。
    • 对于多类,可以四舍五入。它所属的类将有一个1[0, 0, 0, 1, 0, 1, 1],等等。如果你想要类号:np.where(pred == 1, axis=0),它将返回[3, 5, 6]。或者axis=1我不确定。
    猜你喜欢
    • 2019-09-16
    • 2021-02-11
    • 2019-06-16
    • 2022-06-28
    • 1970-01-01
    • 1970-01-01
    • 2020-06-01
    • 2015-02-01
    • 1970-01-01
    相关资源
    最近更新 更多