繁体   English   中英

概率混淆矩阵

[英]Confusion matrix from probabilities

我有以下scikit-learn机器学习管道:

cv = StratifiedKFold(n_splits=6)
classifier = svm.SVC(kernel='linear', probability=True,
                     random_state=random_state)

tprs = []
aucs = []
mean_fpr = np.linspace(0, 1, 100)

i = 0
for train, test in cv.split(X, y):
    probas_ = classifier.fit(X[train], y[train]).predict_proba(X[test])
    # Compute ROC curve and area the curve
    fpr, tpr, thresholds = roc_curve(y[test], probas_[:, 1])
    tprs.append(interp(mean_fpr, fpr, tpr))
    tprs[-1][0] = 0.0
    roc_auc = auc(fpr, tpr)
    aucs.append(roc_auc)
    i += 1

现在,我还要计算(并绘制)混淆矩阵。 上面的代码如何做到这一点? 我只得到概率(计算AUC所需的概率)。 我有4个班级(1 ... 4)。

您可以在此处使用此示例来绘制混淆矩阵:

但是为此,您需要具有离散的类值(而不是概率)。 可以使用以下命令从probas_变量中轻松得出:

y_pred = np.argmax(probas_, axis=1)

现在您可以在混淆矩阵中使用此y_pred

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM