【发布时间】:2020-11-04 05:33:58
【问题描述】:
当我阅读统计学习简介时,我对以下段落感到困惑:
我们在应用 knn() 之前设置了一个随机种子,因为如果有几个 观察被绑定为最近的邻居,然后 R 将随机中断 领带。因此,必须设置种子以确保 结果的重现性。
谁能告诉我为什么KNN的结果是随机的?
【问题讨论】:
-
因为如果多个观测值被捆绑为最近邻,那么 R 将随机打破平局。为了每次都以相同的方式打破平局,您设置了种子,这样您就可以准确地重现结果(但您的结果将取决于该种子)。
-
谢谢!但我还是不明白为什么领带可以被打破。训练集和测试集固定后,测试集中任意一点的邻居不也固定了吗?
-
如果您有三个值 1、2 和 3。您如何将它们分为两类 (k=2)。 2 直接介于 1 和 3 之间。那么您将其分配给哪个?好吧,您需要做出选择,以便 R 做出随机选择。有时它将 2 与 1 组合在一起,有时它将 2 与 3 组合在一起。由于该过程是随机的,因此如果您希望 R 每次都做出相同的选择,则需要将种子设置为它会产生相同的“随机” " 选择。
-
谢谢。那么如果我设置'use.all'=T(同时训练集和测试集是固定的),那么即使我不设置种子,分类总是一样的?