在 kNN 中创建训练和测试数据有什么意义?
What the point of creating traing and testing data in kNN?
我正在面对我的第一个机器学习算法 knn,最让我困惑的是将数据集拆分为训练和测试数据。使用更复杂的 ms 算法我可以想象计算机需要有一个 'training' 过程,但是 knn 更直接并且不需要训练集。或者我还没有完全理解knn。
对于背景:我有一个数据集,必须要求用户提供一些输入。从那里我可以找到用户的 k 个最近的邻居。
非常感谢您的解释。提前谢谢你:).
KNN 通常有验证数据集来获得要考虑的最佳邻居数。
鉴于此,您在测试集上检查算法的执行情况 "in the wild"。
如果您能以某种方式从用户的输入中找到要考虑的最佳邻居数量,则您不需要测试或验证。如果不是(例如,用户输入了一些值,但鉴于您不能确定要考虑的邻居的首选数量),您应该同时进行验证和测试(或其他一些变体,例如 K-Fold,以查找超参数)。
编辑:还有其他超参数,如距离度量,但这个想法成立。
我正在面对我的第一个机器学习算法 knn,最让我困惑的是将数据集拆分为训练和测试数据。使用更复杂的 ms 算法我可以想象计算机需要有一个 'training' 过程,但是 knn 更直接并且不需要训练集。或者我还没有完全理解knn。
对于背景:我有一个数据集,必须要求用户提供一些输入。从那里我可以找到用户的 k 个最近的邻居。
非常感谢您的解释。提前谢谢你:).
KNN 通常有验证数据集来获得要考虑的最佳邻居数。
鉴于此,您在测试集上检查算法的执行情况 "in the wild"。
如果您能以某种方式从用户的输入中找到要考虑的最佳邻居数量,则您不需要测试或验证。如果不是(例如,用户输入了一些值,但鉴于您不能确定要考虑的邻居的首选数量),您应该同时进行验证和测试(或其他一些变体,例如 K-Fold,以查找超参数)。
编辑:还有其他超参数,如距离度量,但这个想法成立。