'x' 对于 'sort.list' 必须是原子的 您是否在列表中调用了 'sort'? knn.cv
'x' must be atomic for 'sort.list' Have you called 'sort' on a list? with knn.cv
我不确定为什么会收到此错误,我正在尝试 运行 与 knn 交叉验证..
我就是这样做的
knn.cv(trainingDigit,label,k=1)
我的训练数字包括
str(trainingDigit)
List of 10
$ : num [1:400, 1:324] 1 1 0.969 1 0.992 ...
$ : num [1:400, 1:324] 1 1 1 1 0.831 ...
$ : num [1:400, 1:324] 1 1 0.98 1 0.996 ...
$ : num [1:400, 1:324] 1 1 1 1 1 ...
$ : num [1:400, 1:324] 0.992 1 1 1 1 ...
$ : num [1:400, 1:324] 0.961 1 1 1 1 ...
$ : num [1:400, 1:324] 1 0.957 0.961 0.973 0.988 ...
$ : num [1:400, 1:324] 1 1 1 1 0.937 ...
$ : num [1:400, 1:324] 1 0.949 0.988 1 1 ...
$ : num [1:400, 1:324] 1 1 1 0.984 1 ...
基本上只有数据..和标签包含
str(label)
List of 10
$ : num [1:400] 0 0 0 0 0 0 0 0 0 0 ...
$ : num [1:400] 1 1 1 1 1 1 1 1 1 1 ...
$ : num [1:401] 2 2 2 2 2 2 2 2 2 2 ...
$ : num [1:400] 3 3 3 3 3 3 3 3 3 3 ...
$ : num [1:400] 4 4 4 4 4 4 4 4 4 4 ...
$ : num [1:400] 5 5 5 5 5 5 5 5 5 5 ...
$ : num [1:400] 6 6 6 6 6 6 6 6 6 6 ...
$ : num [1:400] 7 7 7 7 7 7 7 7 7 7 ...
$ : num [1:400] 8 8 8 8 8 8 8 8 8 8 ...
$ : num [1:400] 9 9 9 9 9 9 9 9 9 9 ...
在 trainingDigit 中标记 eas 列表.. 但是当我 运行 它时我得到这个错误
'x' must be atomic for 'sort.list'
Have you called 'sort' on a list?
我不确定我是否理解为什么以及它的意思。有人可以解释一下它的意思吗?我需要做些什么来修复它?
我们可以用Map
对两个list
对应的元素应用knn.cv
函数。
Map(function(x,y) knn.cv(x, y, k=1), trainingDigit, label)
我们也可以使用 MoreArgs
参数并删除匿名函数调用。
Map(knn.cv, trainingDigit, label, MoreArgs = list(k=1, prob=TRUE))
我不确定为什么会收到此错误,我正在尝试 运行 与 knn 交叉验证..
我就是这样做的
knn.cv(trainingDigit,label,k=1)
我的训练数字包括
str(trainingDigit)
List of 10
$ : num [1:400, 1:324] 1 1 0.969 1 0.992 ...
$ : num [1:400, 1:324] 1 1 1 1 0.831 ...
$ : num [1:400, 1:324] 1 1 0.98 1 0.996 ...
$ : num [1:400, 1:324] 1 1 1 1 1 ...
$ : num [1:400, 1:324] 0.992 1 1 1 1 ...
$ : num [1:400, 1:324] 0.961 1 1 1 1 ...
$ : num [1:400, 1:324] 1 0.957 0.961 0.973 0.988 ...
$ : num [1:400, 1:324] 1 1 1 1 0.937 ...
$ : num [1:400, 1:324] 1 0.949 0.988 1 1 ...
$ : num [1:400, 1:324] 1 1 1 0.984 1 ...
基本上只有数据..和标签包含
str(label)
List of 10
$ : num [1:400] 0 0 0 0 0 0 0 0 0 0 ...
$ : num [1:400] 1 1 1 1 1 1 1 1 1 1 ...
$ : num [1:401] 2 2 2 2 2 2 2 2 2 2 ...
$ : num [1:400] 3 3 3 3 3 3 3 3 3 3 ...
$ : num [1:400] 4 4 4 4 4 4 4 4 4 4 ...
$ : num [1:400] 5 5 5 5 5 5 5 5 5 5 ...
$ : num [1:400] 6 6 6 6 6 6 6 6 6 6 ...
$ : num [1:400] 7 7 7 7 7 7 7 7 7 7 ...
$ : num [1:400] 8 8 8 8 8 8 8 8 8 8 ...
$ : num [1:400] 9 9 9 9 9 9 9 9 9 9 ...
在 trainingDigit 中标记 eas 列表.. 但是当我 运行 它时我得到这个错误
'x' must be atomic for 'sort.list'
Have you called 'sort' on a list?
我不确定我是否理解为什么以及它的意思。有人可以解释一下它的意思吗?我需要做些什么来修复它?
我们可以用Map
对两个list
对应的元素应用knn.cv
函数。
Map(function(x,y) knn.cv(x, y, k=1), trainingDigit, label)
我们也可以使用 MoreArgs
参数并删除匿名函数调用。
Map(knn.cv, trainingDigit, label, MoreArgs = list(k=1, prob=TRUE))