NaN作为kernlab高斯过程预测的输出

时间:2012-09-08 12:52:50

标签: r

我正在尝试使用 kernlab 中的 gausspr 函数来解决回归问题。输入是标准化的。但是predict(model,test.set)的输出结果是一组NaN值!

训练集,X

M1 -0.3437191 -0.1755636 -0.1914969 -0.205308 -0.1595554
M2 -0.3437191 -0.1755636 -0.1914969 -0.205308 -0.1595554
M3 -0.3437191 -0.1755636 -0.1914969 -0.205308 -0.1595554
M4 -0.3437191 -0.1755636 -0.1914969 -0.205308 -0.1595554
M5 -0.3437191 -0.1755636 -0.1914969 -0.205308 -0.1595554

训练输出,Y是

Y = c(1,2,3,4,5)

测试集,Z

T1   1.5530507 -0.2152377 -0.202634 -0.1460405 -0.1592964
T2   1.5530507 -0.2152377 -0.202634 -0.1460405 -0.1592964
T3 -0.3736244 -0.2152377 -0.202634 -0.1460405 -0.1592964
T4 -0.3736244 -0.2152377 -0.202634 -0.1460405 -0.1592964
T5 -0.3736244 -0.2152377 -0.202634 -0.1460405 -0.1592964

代码:

library(kernlab)
model <- gausspr(X,Y)
predict(model, Z)

输出

> head(res14)
     [,1]
[1,]  NaN
[2,]  NaN
[3,]  NaN
[4,]  NaN
[5,]  NaN
[6,]  NaN

我想知道为什么我得到这个输出。

1 个答案:

答案 0 :(得分:0)

因此,输入数据有一组零方差列,使得covarance矩阵成为可能(有人会说为什么?),最终结果将是NaN值。