【机器学习】【数据分析】KNN算法中,精确度(precision),准确率(accuracy)和召回率(recall)的理解

评价一个KNN模型的指标中,这三个有点不好理解,现在理一理。precision和accuracy这两个其实是近义词,只好通过具体的算法来区分。

最近在看《康熙王朝》,姑且就拿皇上对忠臣奸臣的判断做类比。

TP(True Positive)(真忠臣)实为忠臣,皇上也觉得他是忠臣的数量;FN(False Negative)(假奸臣)实际为忠臣,皇上确认为是奸臣的数量(这里False和Negative相当于负负得正,假奸臣就是忠臣);FP(False Positive)(假忠臣)实际是奸臣,皇上却认他是忠臣的数量;TN(True Negative)(真奸臣)实际是奸臣,皇上也认为是奸臣的数量。可以得出(TP + FN)是全部实际的忠臣数,而(TP + FP)是所有皇上认为是忠臣的数量。

  1. 精确率 precision
    1. 精确率(precision)= TP / (TP + FP),意思是皇上心中的忠臣里,是真正忠臣的比率。
  2. 准确率 accuracy
    1. 准确率(accuracy) =   (TP + TN) / (TP + FN + FP + TN) ,意思是所有大臣当中,没被冤枉的那些大臣的比率,也就是皇上心中判断正确的大臣比率。细分一下,其实是所有大臣中,皇上没冤枉的忠臣的比率加上皇上没冤枉的奸臣的比率。TP  / (TP + FN + FP + TN)   +   TN / (TP + FN + FP + TN)
  3. 召回率 recall
    1. 召回率(recall) = TP / (TP + FN),意思是所有真正的忠臣里,也被皇上认为是忠臣的比率。
    2. 那为什么会叫召回recall这个奇怪的名字呢,估计是被冤枉的那些忠臣会从刑场上召回吧哈哈哈哈哈。

你可能感兴趣的:(机器学习,算法,数据分析)