0

我有两个关于在 Stata 中执行 discrim knn 的问题。

1)您如何正确编码命令?我尝试了各种版本,但似乎总是得到一个错误,即指定的变量太多。

  • 结果正确的向量是buy。
  • 我在尝试:discrim knn buy, group(train test) k(1)

2)我对 KNN 的理解是因子变量(二进制)对于使用 KNN 来说是很好的,甚至受到鼓励。但是,我收到不允许使用因子变量和时间序列运算符的错误消息。

最后,虽然我知道这不是这个问题的最佳空间,但每个向量是否应该针对 knn 进行归一化?我听到了相互矛盾的回应。

4

1 回答 1

0

我猜你得到的错误是

group():  too many variables specified

这是因为您只能按 1 个变量分组knnknn根据单个分组变量执行判别分析,在您的情况下,将训练与测试区分开来。我想你的traintest变量是二元的,在这种情况下,只使用一个变量就足够了,因为它们只是逻辑上的对立面。单个变量有足够的信息来区分两组。

于 2013-02-05T00:29:21.667 回答