Libsvm precomputed kernels



我正在使用带有预计算内核的libsvm。我为示例数据集生成了一个预先计算的内核文件heart_scale并执行了函数 svmtrain() 。它工作正常,支持向量被正确识别,即类似于标准内核。

但是,当我尝试运行svmpredict()时,它为预先计算的模型文件提供了不同的结果。在挖掘代码后,我注意到svm_predict_values()函数需要支持向量的实际特征,这在预计算模式下不可用。在预计算模式下,我们只有每个支持向量的系数和指数,这被误认为是它的特征 svmpredict() .

这是一个问题还是我错过了什么。

(请让我知道如何在预计算模式下运行svmpredict()

测试集向量 x 和每个训练集向量之间的核评估值应用作测试集特征向量。

以下是 libsvm 自述文件中的相关行:

xi的新训练实例:
<标签> 0:i 1:K(xi,x1) ...L:K(xi,xL)

任何 x 的新测试实例:
<标签> 0:?1:K(x,x1) ...L:K(x,xL)

libsvm 自述文件是说,如果你有 L 训练集向量,其中 xi 是来自 [1..L] 的 i 的训练集向量,以及一个测试集向量 x,那么 x 的特征向量应该是

最新更新