在 KNN 分类器中选择 k 值?

数据挖掘 机器学习 k-nn
2022-03-06 21:08:36

我正在研究分类问题,并决定使用 KNN 分类器来解决这个问题。

因此,如果 k=131 给了我 0.689 的 auc,而 k=71 给了我 0.682 的 auc,那么我理想的 k 应该是多少?

选择更高的 k 是否意味着更多的计算资源使用?如果是这种情况,我可以选择 k=71。(或)无论如何我都应该使用最高分的 K 吗?

2个回答

我被教导最好的方法是找到每个 k 的错误,然后绘制它们并在图上寻找“肘部”。

因为 knn 是一种非参数方法,所以选择 k 的计算成本很大程度上取决于训练数据的大小。如果训练数据的大小很小,您可以自由选择获得验证数据集最佳 auc 的 k。在你有一个大的训练数据集的情况下,选择大的 k 会导致巨大的计算复杂性,这反映在对测试数据的缓慢预测中。