【机器学习|评价指标4】正预测值(PPV)、负预测值(NPV)、假阴性率(FNR)、假阳性率(FPR)详解,附代码。
【机器学习|评价指标4】正预测值(PPV)、负预测值(NPV)、假阴性率(FNR)、假阳性率(FPR)详解,附代码。
文章目录
- 【机器学习|评价指标4】正预测值(PPV)、负预测值(NPV)、假阴性率(FNR)、假阳性率(FPR)详解,附代码。
- 前言
- 正预测值(Positive Predictive Value, PPV)
- 定义
- 数学公式
- Python 示例
- 负预测值(Negative Predictive Value, NPV)
- 定义
- 数学公式
- Python 示例
- 假阴性率(False Negative Rate, FNR)
- 概念
- 数学公式
- Python 示例
- 假阳性率(False Positive Rate, FPR)
- 概念
- 数学公式
- Python 示例
欢迎铁子们点赞、关注、收藏!
祝大家逢考必过!逢投必中!上岸上岸上岸!upupup
大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文。详细信息可关注VX “
学术会议小灵通
”或参考学术信息专栏:https://blog.csdn.net/2401_89898861/article/details/147776758
前言
- 真正例(True Positive, TP):模型正确地将正类样本预测为正类。
- 假正例(False Positive, FP):模型错误地将负类样本预测为正类。
- 真负例(True Negative, TN):模型正确地将负类样本预测为负类。
- 假负例(False Negative, FN):模型错误地将正类样本预测为负类。
正预测值(Positive Predictive Value, PPV)
定义
- 正预测值(PPV)表示被模型预测为正类的样本中,实际为正类的比例。
数学公式
其中:
- TP(True Positive):真实为正类,预测也为正类的样本数。
- FP(False Positive):真实为负类,预测为正类的样本数。
Python 示例
from sklearn.metrics import precision_score# 示例数据
y_true = [1, 0, 1, 1, 0, 1, 0]
y_pred = [1, 0, 1, 0, 0, 1, 1]# 计算正预测值(PPV)
ppv = precision_score(y_true, y_pred)
print(f"正预测值(PPV): {ppv:.2f}")
负预测值(Negative Predictive Value, NPV)
定义
- 负预测值(NPV)表示被模型预测为负类的样本中,实际为负类的比例。
数学公式
其中:
- TN(True Negative):真实为负类,预测也为负类的样本数。
- FN(False Negative):真实为正类,预测为负类的样本数。
Python 示例
from sklearn.metrics import confusion_matrix# 示例数据
y_true = [0, 1, 0, 1, 0, 1, 0]
y_pred = [0, 0, 0, 1, 0, 1, 1]# 计算混淆矩阵
tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()# 计算 NPV
npv = tn / (tn + fn)
print(f"NPV: {npv:.2f}")
假阴性率(False Negative Rate, FNR)
概念
- 假阴性率表示实际为正类的样本中被错误预测为负类的比例。
数学公式
Python 示例
from sklearn.metrics import confusion_matrix# 假设的真实标签和预测标签
y_true = [0, 1, 1, 0, 1, 0]
y_pred = [0, 1, 0, 0, 1, 1]# 计算混淆矩阵
tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()# 计算假阴性率
fnr = fn / (tp + fn)
print(f"False Negative Rate: {fnr:.2f}")
假阳性率(False Positive Rate, FPR)
概念
- 假阳性率表示实际为负类的样本中被错误预测为正类的比例。
数学公式
Python 示例
from sklearn.metrics import confusion_matrix# 假设的真实标签和预测标签
y_true = [0, 1, 1, 0, 1, 0]
y_pred = [0, 1, 0, 0, 1, 1]# 计算混淆矩阵
tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()# 计算假阳性率
fpr = fp / (fp + tn)
print(f"False Positive Rate: {fpr:.2f}")