📜  scikit learn中的True Positive, True Negative, False Positive, False Negative - Python(1)

📅  最后修改于: 2023-12-03 15:34:51.448000             🧑  作者: Mango

Scikit-learn中的True Positive, True Negative, False Positive, False Negative

Scikit-learn是Python中一个用于机器学习的开源库,在分类模型中使用一组术语来评估模型的性能,其中包括True Positive, True Negative, False Positive, False Negative。在这篇文章中,我们将介绍这些术语并说明如何在Scikit-learn中使用它们。

True Positive (TP)

True Positive是指模型将正样本预测为正样本的数量。例如,在癌症检测模型中,True Positive表示模型将癌症患者预测为真实患者的数量。

True Negative (TN)

True Negative是指模型将负样本预测为负样本的数量。例如,在安全门禁模型中,True Negative表示模型将非犯罪分子预测为非犯罪分子的数量。

False Positive (FP)

False Positive是指模型将负样本预测为正样本的数量。例如,在金融欺诈检测模型中,False Positive表示模型将正常交易预测为欺诈的数量。

False Negative (FN)

False Negative是指模型将正样本预测为负样本的数量。例如,在药物测试模型中,False Negative表示模型将真正有效的药物预测为无效的数量。

在Scikit-learn中,我们可以通过使用confusion_matrix()函数来计算这些指标,该函数将真实标签和预测标签作为参数,并返回详细的混淆矩阵。

from sklearn.metrics import confusion_matrix
 
y_true = [1, 0, 1, 0, 1, 0]
y_pred = [1, 1, 1, 0, 0, 1]
 
tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()
print('True Negative:', tn)
print('False Positive:', fp)
print('False Negative:', fn)
print('True Positive:', tp)

输出:

True Negative: 1
False Positive: 2
False Negative: 1
True Positive: 2

注意: ravel()函数用于将混淆矩阵展平为一维数组,以便更容易地对指标进行操作。

在实际应用中,我们可以使用这些指标来评估分类模型的性能,并根据需要进行调整和优化。

总之,在评估分类模型时,True Positive、True Negative、False Positive和False Negative是非常有用的指标,Scikit-learn库提供了内置函数来计算它们。