我在包" e1071",
中使用了SVM功能第一个问题是,当我尝试预测的行数少于我训练过的行数时,会出现以下错误:
td = wholeData[1:10000,]
model <- svm(Type~.,data = td,type="C-classification")
x =wholeData[1:5000,]
p=predict(model,x)
newdata [,对象$ scaled,drop = FALSE]出错: (下标)逻辑下标太长
第二个问题是当我尝试使用大量行时,它会给出以下消息: &#34;错误:无法分配大小为6.6 Gb的矢量&#34; 我不知道要克服这个问题。
td=wholeData[1:100000,]
model1=svm(Type~.,data = td)
错误:无法分配大小为6.6 Gb的向量 另外:警告信息: 1:在model.matrix.default(Terms,m)中: 达到5849Mb的总分配:见帮助(memory.size) 2:在model.matrix.default(Terms,m)中: 达到5849Mb的总分配:见帮助(memory.size) 3:在model.matrix.default(Terms,m)中: 达到5849Mb的总分配:见帮助(memory.size) 4:在model.matrix.default(Terms,m)中: 达到5849Mb的总分配:见帮助(memory.size)
数据结构如下
str(wholeData)
'data.frame': 550116 obs. of 8 variables:
$ Text : chr "IL-2" "gene" "expression" "and" ...
$ wLength: int 4 4 10 3 8 1 10 7 4 8 ...
$ Cap : int 1 0 0 0 1 1 0 0 1 0 ...
$ Digit : int 1 0 0 0 0 0 0 0 1 0 ...
$ POS : int 11 20 20 9 21 21 20 14 11 40 ...
$ Type : Factor w/ 11 levels "1","2","3","4",..: 3 8 11 11 4 9 11 11 4 11 ...
$ idf : num 3.2 1.7 1.53 1.01 2.96 2.13 1.73 2.63 4.89 3.94 ...
$ isword : int 0 1 1 1 0 1 1 1 0 1 ...