diff --git a/Day81-90/82.k最近邻算法.md b/Day81-90/82.k最近邻算法.md index 2e522f0..ca12b69 100644 --- a/Day81-90/82.k最近邻算法.md +++ b/Day81-90/82.k最近邻算法.md @@ -180,7 +180,7 @@ array([ True, True, True, True, True, True, True, True, True, True, True, True]) ``` -输出的结果中有一个`False`,这表示预测的标签跟真实的标签并不相同,是一个错误的预测结果,也就是说我们预测的准确率为 $\small{\frac{29}{30} = 96.67 \%}$ 。当然,如果你划分训练集和测试集时跟我指定的`random_state`参数不相同,这里得到的结果可能会跟我不同。 +输出的结果中有一个`False`,这表示预测的标签跟真实的标签并不相同,是一个错误的预测结果,也就是说我们预测的准确率为 $\small{\frac{29}{30}}$ ,即`96.67%`。当然,如果你划分训练集和测试集时跟我指定的`random_state`参数不相同,这里得到的结果可能会跟我不同。 #### 基于scikit-learn的实现 @@ -246,23 +246,23 @@ model.score(X_test, y_test) \text{准确率} = \frac{\text{TP} + \text{TN}}{\text{TP} + \text{FP} + \text{FN} + \text{TN}} $$ - 上面的例子,模型预测的准确率为: $\small{\frac{80 + 870}{80 + 30 + 20 + 870} = \frac{950}{1000} = 95\%}$ 。 + 上面的例子,模型预测的准确率为: $\small{\frac{80 + 870}{80 + 30 + 20 + 870} = \frac{950}{1000} = 0.95}$ 。 2. **精确率**(Precesion)。精确率用于衡量在所有被预测为正类的样本中,实际上属于正类的比例,通常也被称为查准率。 $$ - 精确率 = \frac{\text{TP}}{\text{TP} + \text{FP}} + \text{精确率} = \frac{\text{TP}}{\text{TP} + \text{FP}} $$ - 上面的例子,模型预测的精确率为: $\small{\frac{80}{80 + 30} = \frac{80}{110} = 72.73\%}$ 。 + 上面的例子,模型预测的精确率为: $\small{\frac{80}{80 + 30} = \frac{80}{110} = 0.73}$ 。 3. **召回率**(Recall)。召回率用于衡量在所有实际为正类的样本中,被模型正确预测为正类的比例,通常也被称为查全率或真正例率(True Positive Rate)。 $$ - 召回率 = \frac{\text{TP}}{\text{TP} + \text{FN}} + \text{召回率} = \frac{\text{TP}}{\text{TP} + \text{FN}} $$ - 上面的例子,模型预测的召回率为: $\small{\frac{80}{80 + 20} = \frac{80}{100} = 80\%}$ 。 + 上面的例子,模型预测的召回率为: $\small{\frac{80}{80 + 20} = \frac{80}{100} = 0.8}$ 。 4. **F1 分数**(F1 Score)。F1 分数是精确率和召回率的调和平均数,它在精确率和召回率之间寻求一个平衡,尤其适用于在两者之间有权衡的情况。 @@ -270,7 +270,7 @@ model.score(X_test, y_test) \text{F1分数} = \frac{2}{\frac{1}{\text{精确率}} + \frac{1}{\text{召回率}}} = 2 \times \frac{\text{精确率} \times \text{召回率}}{\text{精确率} + \text{召回率}} $$ - 上面的例子,模型预测的F1 分数为: $\small{2 \times \frac{0.7273 * 0.8}{0.7273 + 0.8} = 76.19\%}$ 。 + 上面的例子,模型预测的F1 分数为: $\small{2 \times \frac{0.7273 * 0.8}{0.7273 + 0.8} = 0.76}$ 。 5. **特异度**(Specificity)和**假正例率**(False Positive Rate)。特异度用于衡量的是在所有实际为负类的样本中,被模型正确预测为负类的比例,类似于召回率,只不过针对的是负类样本。 @@ -282,7 +282,7 @@ model.score(X_test, y_test) \text{假正例率} = 1 - \text{特异度} $$ - 上面的例子,模型预测的特异度为: $\small{\frac{870}{870 + 30} = \frac{870}{900} = 96.67\%}$ 。 + 上面的例子,模型预测的特异度为: $\small{\frac{870}{870 + 30} = \frac{870}{900} = 0.97}$ 。 6. **ROC** 和 **AUC**。