Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用带有预计算内核的kernlab包时出错_R_Svm_Predict_Kernlab - Fatal编程技术网

使用带有预计算内核的kernlab包时出错

使用带有预计算内核的kernlab包时出错,r,svm,predict,kernlab,R,Svm,Predict,Kernlab,我一直在使用kernlab软件包,在使用带有预计算内核的ksvm/predict函数时遇到了一些问题 我收到的错误消息是: > ksvm.mod <- ksvm(trainingset.outer, traininglabels.outer, kernel = "matrix",type="C-svc", C = 60, prob.model = TRUE) > temp <- predict(ksvm.mod, test.kernel.outer) Error in

我一直在使用
kernlab
软件包,在使用带有预计算内核的
ksvm
/
predict
函数时遇到了一些问题

我收到的错误消息是:

> ksvm.mod <- ksvm(trainingset.outer, traininglabels.outer, kernel = "matrix",type="C-svc", C = 60, prob.model = TRUE)
> temp <-  predict(ksvm.mod, test.kernel.outer)
Error in .local(object, ...) : test vector does not match model !
​然后,我查看了根据模型存储的列,发现如下内容:

> ncol(xmatrix(ksvm.mod)[[1]])
Error in xmatrix(ksvm.mod)[[1]] : subscript out of bounds
> xmatrix(ksvm.mod)[[1]]
Error in xmatrix(ksvm.mod)[[1]] : subscript out of bounds
> xmatrix(ksvm.mod)
<0 x 0 matrix>
> ?xmatrix
> ksvm.mod
Support Vector Machine object of class "ksvm" 

SV type: C-svc  (classification) 
 parameter : cost C = 60 

[1] " Kernel matrix used as input."

Number of Support Vectors : 831 

Objective Function Value : -211534.1 
Training error : 0.257677 
Probability model included. ​
> ncol(xmatrix(gene)[[1]]) # for dataframes used without precomputed kernels
[1] 172
ncol(xmatrix(ksvm.mod)[[1]] xmatrix(ksvm.mod)[[1]]中出错:下标超出范围 >xmatrix(ksvm.mod)[[1]] xmatrix(ksvm.mod)[[1]]中出错:下标超出范围 >xmatrix(ksvm.mod) >?X矩阵 >ksvm.mod “ksvm”类的支持向量机对象 SV类型:C-svc(分类) 参数:成本C=60 [1] “用作输入的内核矩阵。” 支持向量数:831 目标函数值:-211534.1 训练错误:0.257677 包括概率模型。​ >ncol(xmatrix(基因)[[1]])#用于无预计算内核的数据帧 [1] 172 我猜模型没有存储任何对象,我的理解正确吗?由于在web上没有使用带有预计算内核的包的好例子,所以我写信来寻求您的帮助


PS:如果需要,我会尽力提供测试数据

你做对了一半。predict对象只需要新数据和支持向量之间的核距离,但它本身不提取它们,您必须自己传递它们

试试这个:

ksvm.mod <- ksvm(trainingset.outer, traininglabels.outer, kernel = "matrix",type="C-svc", C = 60, prob.model = TRUE)
temp <-  predict(ksvm.mod, test.kernel.outer[, SVindex(ksvm.mod))

ksvm.mod你做得对了一半。predict对象只需要新数据和支持向量之间的核距离,但它本身不提取它们,您必须自己传递它们

试试这个:

ksvm.mod <- ksvm(trainingset.outer, traininglabels.outer, kernel = "matrix",type="C-svc", C = 60, prob.model = TRUE)
temp <-  predict(ksvm.mod, test.kernel.outer[, SVindex(ksvm.mod))
ksvm.mod
ksvm.mod <- ksvm(trainingset.outer, traininglabels.outer, kernel = "matrix",type="C-svc", C = 60, prob.model = TRUE)
temp <-  predict(ksvm.mod, test.kernel.outer[, SVindex(ksvm.mod))