|一文读懂机器学习( 四 )


混淆矩阵:制作一个包含水平和垂直方向上所有可能类别的方矩阵 , 并沿着表格顶部列出这些类别作为预测输出 , 然后在左侧向下列出目标类别 。
因此 , 例如矩阵(i , j)的元素告诉我们输入的数据中 , 本来是i类的 , 结果算法判别它呈j类的数据有多少个 。 算法判断对的数据是对角线上的任何内容 。 假设我们有三个类:C1 , C2和C3 。 现在 , 我们计算次数 , 当类别是C1时候 , 算法判别它是C1的次数 , 判别它是C2的次数 , 等等 。 直到填写完表格:
|一文读懂机器学习
本文插图

该表告诉我们 , 对于这三个类 , 大多数示例已正确分类 , 但是C3类的两个示例被错误分类为C1 , 依此类推 。 对于类少的时候 , 这是查看输出的好方法 。 如果只需要一个数字 , 则可以将对角线上的元素之和除以矩阵中所有元素的总和 , 这就是所谓的准确性accuracy , 我们将看到它并不是评估机器学习算法结果的唯一方法 。

  • Accuracy Metrics
我们不仅可以测量准确性 , 还可以做更多分析结果的工作 。 如果考虑这些类的可能输出 , 则可以将它们安排在这样的简单图表中 , ture positive是真实情况 , predicted condition 是预测情况 , condition positive是真实情况是真的 , condition negative是真实情况是假的 , predicted condition positive是预测情况是真的 , predicted condition negative是预测情况是假的 。
|一文读懂机器学习
本文插图

就像混淆矩阵一样 , 此图表的对角线上的输入是正确的(预测情况和真实情况一致) , 而副对角线上的输入则是错误的(预测情况和真实情况不一致) 。
于是准确性定义:
|一文读懂机器学习
本文插图

准确性的问题在于 , 它无法告诉我们结果的所有信息 , 因为它将四个数字变成一个 。 有一些互补的测量值可以帮助我们解释分类器的性能 , 即 sensitivity 和 specificity 以及 precision 和 recall 。 接下来显示它们的定义 , 然后进行一些解释 。
|一文读懂机器学习
本文插图

  • sensitivity(也称为true positive rate)是正确的阳性样本与分类为阳性的样本之比 。
  • specificity 是正确的阴性样本与分类为阴性的样本之比 。
  • precision 是正确的阳性样本与实际阳性样本数量的比率 , 预测正确的值中 , 真正预测正确的是对少 , 准确率是多少 。
  • recall 是分类为阳性的阳性样本中正确阳性的样本数量的比率 , 这与sensitivity相同 。 所有正的值中 , 实际找到它多少个 。
如果再次查看该图表 , 你会发现 sensitivity 和 specificity 的分母是各列的和 , 而 precision 和 recall 的分母是第一列和第一行的和 , 因此错过了一些在否定示例中的信息 。
总之 , 这些任何一个都提供了更多的信息 , 而不仅仅是准确性 。 如果你考虑 precision 和 recall , 你会发现它们在某种程度上是负相关的 , 因为如果 false positive 的数量增加 , 那么 false negative 的数量通常会减少 , 反之亦然 。 可以将它们组合在一起以给出一个单独的度量标准 , 即F1度量标准:
|一文读懂机器学习
本文插图

以及就false positive的数量而言
|一文读懂机器学习


推荐阅读