1

我无法理解变量在knn()R 函数上下文中的含义,因为我不是来自统计学背景。

假设我正在尝试预测每个池 A、B 和 C 的池比赛结果。

我知道参加比赛的每位参赛选手的身高和体重。假设每年竞争的候选人都是一样的,我也知道过去30年谁赢了。

我如何预测今年谁将在 A、B 和 C 组中获胜?

我猜:

参数是一个数据框,其中train包含他为每个参赛者竞争的体重、身高和泳池列。这是过去的 29 年。

参数是一个数据框,其中test包含他为每个参赛者竞争的体重、身高和泳池列。这是最后一年。

cl参数是每年哪个竞争对手赢得比赛的向量。

knn()是打算如何使用的吗?

参考:

http://stat.ethz.ch/R-manual/R-patched/library/class/html/knn.html

4

1 回答 1

1

不完全是。训练数据用于训练,但测试用于测试。你不能直接训练和应用它——你需要交叉验证你的模型。模型训练的目的不是最小化误差,而是最小化样本内和样本外误差之间的差异。否则你会过拟合:事实是,如果你做得足够好,你的样本内误差将为 0。这不会为实际预测提供任何好的结果。该函数中的训练集是您的样本内,而测试是样本外。

然后构建实际模型,您可以使用mymodel.predict().

于 2013-05-01T23:13:43.240 回答