修正了部分文档中的笔误

This commit is contained in:
jackfrued 2025-02-13 16:10:46 +08:00
parent 841c5a2dc7
commit dcd7a8a41b
1 changed files with 42 additions and 37 deletions

View File

@ -241,50 +241,55 @@ model.score(X_test, y_test)
| **实际为未患病** | 30FP | 870TN | | **实际为未患病** | 30FP | 870TN |
1. **准确率**Accuracy 1. **准确率**Accuracy
$$
\text{Accuracy} = \frac{\text{TP} + \text{TN}}{\text{TP} + \text{FP} + \text{FN} + \text{TN}} $$
$$ \text{Accuracy} = \frac{\text{TP} + \text{TN}}{\text{TP} + \text{FP} + \text{FN} + \text{TN}}
$$
上面的例子,模型预测的准确率为: $\small{\frac{80 + 870}{80 + 30 + 20 + 870} = \frac{950}{1000} = 0.95}$ 。
上面的例子,模型预测的准确率为: $\small{\frac{80 + 870}{80 + 30 + 20 + 870} = \frac{950}{1000} = 0.95}$ 。
2. **精确率**Precesion。精确率用于衡量在所有被预测为正类的样本中实际上属于正类的比例通常也被称为查准率。 2. **精确率**Precesion。精确率用于衡量在所有被预测为正类的样本中实际上属于正类的比例通常也被称为查准率。
$$
\text{Precesion} = \frac{\text{TP}}{\text{TP} + \text{FP}} $$
$$ \text{Precesion} = \frac{\text{TP}}{\text{TP} + \text{FP}}
$$
上面的例子,模型预测的精确率为: $\small{\frac{80}{80 + 30} = \frac{80}{110} = 0.73}$ 。
上面的例子,模型预测的精确率为: $\small{\frac{80}{80 + 30} = \frac{80}{110} = 0.73}$ 。
3. **召回率**Recall。召回率用于衡量在所有实际为正类的样本中被模型正确预测为正类的比例通常也被称为查全率或真正例率True Positive Rate 3. **召回率**Recall。召回率用于衡量在所有实际为正类的样本中被模型正确预测为正类的比例通常也被称为查全率或真正例率True Positive Rate
$$
\text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}} $$
$$ \text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}}
$$
上面的例子,模型预测的召回率为: $\small{\frac{80}{80 + 20} = \frac{80}{100} = 0.8}$ 。
上面的例子,模型预测的召回率为: $\small{\frac{80}{80 + 20} = \frac{80}{100} = 0.8}$ 。
4. **F1 分数**F1 Score。F1 分数是精确率和召回率的调和平均数,它在精确率和召回率之间寻求一个平衡,尤其适用于在两者之间有权衡的情况。 4. **F1 分数**F1 Score。F1 分数是精确率和召回率的调和平均数,它在精确率和召回率之间寻求一个平衡,尤其适用于在两者之间有权衡的情况。
$$
\text{F1 Score} = \frac{2}{\frac{1}{\text{Precision}} + \frac{1}{\text{Recall}}} = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precesion} + \text{Recall}} $$
$$ \text{F1 Score} = \frac{2}{\frac{1}{\text{Precision}} + \frac{1}{\text{Recall}}} = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precesion} + \text{Recall}}
$$
上面的例子模型预测的F1 分数为: $\small{2 \times \frac{0.7273 * 0.8}{0.7273 + 0.8} = 0.76}$ 。
上面的例子模型预测的F1 分数为: $\small{2 \times \frac{0.7273 * 0.8}{0.7273 + 0.8} = 0.76}$ 。
5. **特异度**Specificity和**假正例率**False Positive Rate。特异度用于衡量的是在所有实际为负类的样本中被模型正确预测为负类的比例类似于召回率只不过针对的是负类样本。
$$ 5. **特异度**Specificity和**假正例率**False Positive Rate简称 FPR。特异度用于衡量的是在所有实际为负类的样本中被模型正确预测为负类的比例类似于召回率只不过针对的是负类样本。
\text{Specificity} = \frac{\text{TN}}{\text{TN} + \text{FP}}
$$ $$
\text{Specificity} = \frac{\text{TN}}{\text{TN} + \text{FP}}
$$ $$
\text{False Positive Rate} = 1 - \text{Specificity}
$$ $$
\text{FPR} = 1 - \text{Specificity}
上面的例子,模型预测的特异度为: $\small{\frac{870}{870 + 30} = \frac{870}{900} = 0.97}$ 。 $$
上面的例子,模型预测的特异度为: $\small{\frac{870}{870 + 30} = \frac{870}{900} = 0.97}$ 。
6. **ROC****AUC** 6. **ROC****AUC**
- **ROC**Receiver Operating Characteristic Curve绘制了召回率与假正例率的关系如下图所示。 - **ROC**Receiver Operating Characteristic Curve绘制了召回率与假正例率的关系如下图所示。
<img src="res/02_ROC_curve.png" style="zoom:38%;"> <img src="res/02_ROC_curve.png" style="zoom:38%;">
- **AUC**Area Under the Curve是 ROC 曲线下的面积衡量模型区分正类和负类的能力。AUC 值的范围是 $\small[0, 1]$ ,值越接近 1表示模型区分正负类的能力越强。0.5 < AUC < 1说明我们的模型优于随机猜测只要这个分类器模型妥善设置阈值的话就有预测价值AUC = 0.5说明我们的模型跟随机猜测一样模型没有预测价值。AUC < 0.5模型比随机猜测还差但只要总能反向预测它的实际效果就优于随机猜测 - **AUC**Area Under the Curve是 ROC 曲线下的面积衡量模型区分正类和负类的能力。AUC 值的范围是 $\small[0, 1]$ ,值越接近 1表示模型区分正负类的能力越强。0.5 < AUC < 1说明我们的模型优于随机猜测只要这个分类器模型妥善设置阈值的话就有预测价值AUC = 0.5说明我们的模型跟随机猜测一样模型没有预测价值。AUC < 0.5模型比随机猜测还差但只要总能反向预测它的实际效果就优于随机猜测
对于多分类问题,混淆矩阵的行数和列数都等于类别数,混淆矩阵是一个方阵,也就是说如果有 $\small{n}$ 个类别,那么混淆矩阵就是一个 $\small{n \times n}$ 的方阵。根据上面我们得到的鸢尾花数据集的预测结果,我们先输出真实值和预测值,然后制作对应的混淆矩阵,如下所示。 对于多分类问题,混淆矩阵的行数和列数都等于类别数,混淆矩阵是一个方阵,也就是说如果有 $\small{n}$ 个类别,那么混淆矩阵就是一个 $\small{n \times n}$ 的方阵。根据上面我们得到的鸢尾花数据集的预测结果,我们先输出真实值和预测值,然后制作对应的混淆矩阵,如下所示。