混淆矩阵中的 Scikit-learn 变化阈值

Mel*_*Mel 2 python machine-learning confusion-matrix scikit-learn

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

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

谁能提供一种方法来设置 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]])
Run Code Online (Sandbox Code Playgroud)

谢谢!

Mel*_*Mel 6

我想通了,简单地说:

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

希望这对其他寻找改变阈值的简单方法的人有所帮助!