【问题标题】:Scikit-learn Change Threshold in Confusion Matrix混淆矩阵中的 Scikit-learn 变化阈值
【发布时间】:2020-07-16 22:25:23
【问题描述】:

对于二元分类器,我需要具有不同阈值的多个混淆矩阵。

我到处查找,但找不到一个简单的实现。

谁能提供一种方法来设置 scikit-learn 的混淆矩阵阈值?

我了解 scikit-learn 的混淆矩阵使用 0.5 作为阈值。

model = LogisticRegression(random_state=0).fit(X_train, y_train)
y_pred = model.predict(X_test)
confusion_matrix(y_test, y_pred)
Output: array([[24705,     8],
              [  718,     0]])

谢谢!

【问题讨论】:

  • 混淆矩阵的阈值是什么意思?请展示您期望的输入和输出示例。
  • @MathiasMüller 我已经添加了代码 sn-p,基本上我使用的是 scikitlearn 的混淆矩阵方法但是如何更改它的阈值?

标签: python machine-learning scikit-learn confusion-matrix


【解决方案1】:

我想通了,很简单:

threshold = 0.2
y_pred = (model.predict_proba(X_test)[:, 1] > threshold).astype('float')
confusion_matrix(y_test, y_pred)

希望这对正在寻找一种简单方法来更改阈值的其他人有所帮助!

【讨论】:

    猜你喜欢
    • 2016-05-12
    • 2018-05-22
    • 2014-06-11
    • 2015-12-14
    • 2020-05-30
    • 1970-01-01
    • 2017-03-03
    • 2022-10-20
    • 2020-02-04
    相关资源
    最近更新 更多