在kNN中创建训练和测试数据有什么意义?

我正在面对我的第一个机器学习算法knn,最令我困惑的是将数据集拆分为训练和测试数据。使用更复杂的ms算法,我可以想象计算机需要进行“训练”过程,但knn更直接,不需要训练集。还是我没有完全理解knn。

作为背景:我有一个数据集,必须要求用户输入一些信息。从那里我可以找到k个用户的最近邻居。

非常感谢您的解释。预先谢谢您:)。

yanyantianlong 回答:在kNN中创建训练和测试数据有什么意义?

KNN通常具有验证数据集,以考虑要考虑的最佳邻居数。

鉴于此,请在测试集上检查算法在野外的执行情况。

如果您能以某种方式从用户输入中找到要考虑的最佳邻居数,则无需测试或验证。如果没有(例如,用户输入了一些值,但是鉴于您不确定要考虑的邻居数量是否确定),则应同时进行验证和测试(或其他一些变体,例如K-Fold,以查找超参数)。

编辑:还有其他超参数,例如距离度量标准,但是这个想法成立。

本文链接:https://www.f2er.com/3005239.html

大家都在问