错误:'火车'和'班级' R

时间:2018-02-15 00:02:26

标签: r knn

我有下表。

enter image description here

  

X10 $ Marital< - as.factor(X10 $ Marital)

     

X10 $ AgeZ< - scale(X10 $ Age,center = TRUE,scale = TRUE)

     

X10 $ IncomeZ< - scale(X10 $ Income,center = TRUE,scale = TRUE)

     

X10 $风险< - as.factor(X10 $风险)

然后我创建了测试和训练数据集和分类

  

Test10< - 子集(X10 [10,c(2,5,6)])

     

Train10< - subset(X10 [1:9,c(2,4,5,6)])

     

trueclass< - factor(X10 $ Risk)

我一直收到错误"' train'和'班级'在R"

中有不同的长度

我确实看了另一个问题,这个问题可能是因为分类不是矢量,所以我用这9个值创建了一个矢量。

  

trueclass&lt; - c(&#34; Bad Loss&#34;,&#34; Bad Loss&#34;,&#34; Bad Loss&#34;,&#34; Bad Loss&#34;,& #34;不良损失&#34;,&#34;良好的风险&#34;,&#34;良好的风险&#34;,&#34;良好的风险&#34;,&#34;良好的风险&#34;)< / p>

我仍然得到同样的错误。我究竟做错了什么?

  

暗淡(Train10)

     

9 4

     

暗淡(Test10)

     

1 3

     

长度(trueclass)

     

9

1 个答案:

答案 0 :(得分:0)

要使用knn,您应该具有标准化数据。在您的情况下,您只能使用AgeZ&amp;收入Z预测列车和风险测试数据帧。

实际上,测试&amp;火车必须具有相同的尺寸(cols)。您可以尝试以下代码:

Test10 <- subset(X10[10, c("AgeZ","IncomeZ")])
Train10 <- subset(X10[1:9,c("AgeZ","IncomeZ")])

trueclass <- as.factor(X10[1:9,"Risk"])

knn <- class::knn(Train10,Test10,trueclass)

knn 
[1] Good risk

希望这会有所帮助

Gottavianoni