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

问题描述 投票:0回答:1

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

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

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

pandas dataset knn training-data
1个回答
0
投票

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.