如何在Stata中有效地使用knn

时间:2012-07-20 18:44:09

标签: error-handling machine-learning stata knn

我在Stata执行歧视时有两个问题。

1)你如何正确编码命令?我尝试了各种版本,但似乎总是会收到错误,指出有太多的变量。

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

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

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

1 个答案:

答案 0 :(得分:0)

我猜你得到的错误是

group():  too many variables specified

这是因为您只能使用knn将1个变量分组。 knn基于单个分组变量执行判别分析,在您的情况下,将训练与测试区分开来。我想你的traintest变量是二进制的,在这种情况下只使用其中一个变量就足够了,因为它们只是彼此的逻辑对立面。单个变量具有足够的信息来区分这两个组。