是R2R2k-Nearest Neighbors 的适当评估指标?

数据挖掘 分类 Python scikit-学习 相关性
2022-01-21 17:25:34

我发现一个消息来源说R2是“由线性模型解释的响应变量变化的百分比”。来源

由于kNN不是线性模型(它是非参数的),是否适合使用R2评价它?如果不是,什么错误度量是合适的?我在 python 中使用 scikit-learn 提供的 kNN 分类器。

2个回答

R2是线性模型对数据拟合优度的粗略度量,用于回归分析。在决定线性和非线性回归模型时,它似乎是一个流行的选择。

您似乎打算使用 kNN 进行分类,其评估指标与回归不同。Scikit-learn 提供'accuracy'、'true-positive'、'false-positive'等(TP、FP、TN、FN)、'precision'、'recall'、'F1 score'等来评估一个分类器。

奖励:kNN 是简单的分类器,当数据显示局部结构而不是全局结构时使用,即在数据空间中的多个局部集群中找到具有相同标签的数据。调整的关键参数是“k”,它应该基于这些本地化集群的大小,因为使用不同的“k”值可以获得相当不同的结果。您可以进行网格搜索(也在 scikit-learn 中)来调整您的参数(当然包括“k”)。

评估指标:准确率或 ROC 或平均平均精度或 F1 分数:有多种指标可供选择,选择取决于您正在执行的任务以及您的优先级。(您可以查看这些指标以获取更多详细信息)但您可以从初学者的准确性开始。

R2用于具有数值范围的数据。按 k 最近邻分类分配的类标签只是标签(即使您选择它们​​是数字,它们也不像实数)。

您在有监督的环境中使用 kNN,典型的质量评估包括将您的数据拆分为训练集和测试集(n 折交叉验证)并确定精度、召回率和 F 分数。