Libsvm模型的使用

Posted

技术标签:

【中文标题】Libsvm模型的使用【英文标题】:Usage of Libsvm model 【发布时间】:2012-05-28 02:01:55 【问题描述】:

我在 Matlab 中使用 Libsvm 开发了一个模型。我使用 CV 选择了最佳参数,并获得了训练整个数据集的模型。我使用归一化来获得更好的结果:

 maximum=max(TR)+0.00001;
 minimum=min(TR);

 for i=1:size(TR,2)
             training(1:size(TR,1),i)=double(TR(1:size(TR,1),i)-maximum(i))/(maximum(i)-minimum(i));
 end

现在如何直接使用我的模型来获取新数据的分类?我的意思是没有类标签的记录。我是否必须根据模型信息手动构建函数?

【问题讨论】:

【参考方案1】:

您是否使用libsvmtrain 来训练您的训练数据?如果是这样,则有一个输出参数可用于对测试/未来数据进行分类。然后将该输出结构连同测试数据一起传递给svmpredict

【讨论】:

是的,我正在使用svmtrain 来训练数据。我认为您所说的输出参数是模型。但是如果我想使用svmpredict 不应该有标签数据吗?如果我有一个未分类的新记录,我是否必须用随机类标记它并调用svmpredict 是的,它是模型。是的,如果您没有标签,只需传入任何随机值 - 该参数只是为了计算准确性(以防标签已知)。

以上是关于Libsvm模型的使用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 R 中使用 libsvm 加载 SVM 模型拟合/集成

如何使用 libsvm 格式的数据集构建机器学习模型

LIBSVM:从模型文件中获取支持向量

Libsvm 模型中的支持向量是如何排列的?

使用java libsvm进行文本分类——模型、参数选择

[转]libsvm 训练后的模型参数讲解