我用 k-nn 对 20NG 数据集进行分类,每个类别中有 200 个实例,训练测试拆分为 80-20,我发现以下结果
这里的精度很低,但是当精度那么低时,精度有多高?不是精度公式 TP/(TP + FP) 吗?如果是,那么高精度分类器需要生成高真阳性,这将导致高精度,但是 K-nn 如何在真阳性率太低的情况下生成高精度?
我用 k-nn 对 20NG 数据集进行分类,每个类别中有 200 个实例,训练测试拆分为 80-20,我发现以下结果
这里的精度很低,但是当精度那么低时,精度有多高?不是精度公式 TP/(TP + FP) 吗?如果是,那么高精度分类器需要生成高真阳性,这将导致高精度,但是 K-nn 如何在真阳性率太低的情况下生成高精度?
召回率相当于真阳性率。文本分类任务(尤其是信息检索,还有文本分类)显示了召回率和精度之间的权衡。当精度非常高时,召回率往往很低,反之亦然。这是因为您可以调整分类器以将更多或更少的实例分类为正例。您分类为阳性的实例越少,精度越高,召回率越低。
为了确保有效性度量与准确性相关,您应该关注 F 度量,它平均召回率和精度(F 度量 = 2*r*p / (r+p))。
非惰性分类器遵循一个训练过程,在这个过程中他们试图优化准确性或错误。K-NN 是懒惰的,没有训练过程,因此它不会尝试优化任何有效性度量。您可以使用不同的 K 值,直观地说,K 越大,召回率越高,精度越低,反之亦然。