gpt4 book ai didi

r - R 中的 k-NN 回归问题

转载 作者:行者123 更新时间:2023-12-02 19:55:18 25 4
gpt4 key购买 nike

我正在尝试从包插入符运行 knnreg。由于某种原因,这个训练集有效:

> summary(train1)
V1 V2 V3
13 : 10474 1 : 6435 7 : 8929
10 : 10315 2 : 6435 6 : 8895
4 : 10272 3 : 6435 9 : 8892
1 : 10244 4 : 6435 10 : 8892
2 : 10238 7 : 6435 15 : 8874
24 : 10228 8 : 6435 40 : 8870
(Other):359799 (Other):382960 (Other):368218

虽然这个不起作用:

> summary(train2)
V1 V2 V3 V4
13 : 10474 1 : 6436 7 : 8929 Christmas : 5946
10 : 10315 2 : 6436 6 : 8895 Labor Day : 8861
4 : 10272 3 : 6438 9 : 8892 None :391909
1 : 10244 4 : 6435 10 : 8892 Super Bowl : 8895
2 : 10238 7 : 6435 15 : 8874 Thanksgiving: 5959
24 : 10228 8 : 6435 40 : 8870
(Other):359799 (Other):382960 (Other):368218

这是目标向量:

> summary(Target)
Min. 1st Qu. Median Mean 3rd Qu. Max.
-499 200 712 1980 20210 693100

我得到的错误是在预测阶段:

> fit <- knnreg(train2, Target, k = 2)
> Prediction <- predict(fit, newdata=test)
Error in knnregTrain(train = list(V1 = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, :
NA/NaN/Inf in foreign function call (arg 5)
In addition: Warning messages:
1: In knnregTrain(train = list(V1 = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, :
NAs introduced by coercion
2: In knnregTrain(train = list(V1 = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, :
NAs introduced by coercion

虽然这是我的测试集:

> summary(test)
V1 V2 V3 V4
13 : 2836 1 : 1755 51 : 3002 Christmas : 2988
4 : 2803 2 : 1755 49 : 2989 Labor Day : 0
19 : 2799 3 : 1755 52 : 2988 None :106136
2 : 2797 4 : 1755 50 : 2986 Super Bowl : 2964
27 : 2791 7 : 1755 6 : 2984 Thanksgiving: 2976
24 : 2790 8 : 1755 47 : 2976
(Other):98248 (Other):104534 (Other):97139

我错过了什么?

编辑:将 V4 设置标签切换为“1”、“2”……实际上可以解决问题。该算法是否将我的特征视为数字,即使它们是因子?

最佳答案

我意识到 knnreg 将只接收数值,当我尝试使用 train1 训练模型时,它认为所有值都是数值(实际上它们是分类值)。 train2 返回错误,因为 V4 不是数字,knnreg 也无法将其转换为数字。

关于r - R 中的 k-NN 回归问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22529738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com