LibSvm标签问题

今天在做SVM恶意程序检测算法研究的过程中,由于libsvm输入要求的数据格式是lable index:value,训练数据标签和特征值索引和值是确定的,顺利生成模型,然而测试集数据标签是未知的,是需要得到的分类信息,此时比较迷惑,查找相关资料。得以解答:测试集的标签随意写上,它主要是用来测试模型的效果的,具体如下。

首先用svm(libsvm,lssvm、hssvm)等等进行分类预测,要进行三个步骤1、训练 2、测试 3、预测
1、训练——大家都知道,就是用训练数据集,不管你采用那种寻优方式,得到相对的最优参数,训练模型。

2、测试——就是用刚刚得到的模型,对测试数据进行测试,此时测试数据集的label是已知的,这主要是用来对刚刚的模型的检测,或者是对参数的检测、或者是对模型的泛化能力的检测。此时会得到一个准确率,这时的准确率是有用的,是有实际意义的,因为原来的label是已知的。

3、预测——预测就是对未知类别的样本在测试确定了模型有好的泛化能力的情况下的预测分类,这步才是真的预测能力功能的实现。此时数据的label随便给了,这样是为了满足libsvm对数据格式的要求。此时也会得到一个准确率,但是这个是没有实际意义的,因为原始的label是随便给的,没有意义,我们只是关心的是最后得到的类别号——达到分类的目的。

得到的准确率如下,第一个代表分类的准确率,第二个是回归的平方根,第三个平方根先关系数,具体需要查看统计学习相关知识:

accuracy =

81.5217
0.7391
NaN

时间: 2024-10-16 04:43:11

LibSvm标签问题的相关文章

LibSVM之C# Wrapper

[百度百科] LIBSVM是台湾大学林智仁(Lin Chih-Jen)教授等开发设计的一个简单.易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进.修改以及在其它操作系统上应用:该软件对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数可以解决很多问题:并提供了交互检验(Cross Validation)的功能.该软件可以解决C-SVM.ν-SVM.ε-SVR和ν-SVR等问题,包括基于一对一

机器学习 libsvm交叉验证与网格搜索(参数选择)

首先说交叉验证. 交叉验证(Cross validation)是一种评估统计分析.机器学习算法对独立于训练数据的数据集的泛化能力(generalize), 能够避免过拟合问题. 交叉验证一般要尽量满足: 1)训练集的比例要足够多,一般大于一半 2)训练集和测试集要均匀抽样 交叉验证主要分成以下几类: 1)Double cross-validation Double cross-validation也称2-fold cross-validation(2-CV),作法是将数据集分成两个相等大小的子集

解密SVM系列(五):matlab下libsvm的简单使用

本节简单介绍一下libsvm的使用方法.关于libsvm似乎曾经使用过,那个时候主要用libsvm进行简单的人脸识别实验.当时还翻译过关于libsvm里面的matlab英文文档 那么现在最新版本的libsvm为3.2.0,下载地址如下: http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 下载下来的libsvm其实包含好多个平台的工具箱软件,c++,matlab,java,python都有.他们的函数使用方法是一样的. 那么在下载完以后,点击里面的matlab下平

机器学习:SVM实践:Libsvm的使用

引言 ? ? 本文从应用的角度出发,使用Libsvm函数库解决SVM模型的分类与回归问题 ? ? 首先说明一下实验数据,实验数据是Libsvm自带的heart_sacle,是个mat文件 ? ? 加载数据集 ? ? 将mat文件导入MATLAB后会有270*13的实例矩阵变量heart_scale_inst和270*1的标签矩阵heart_scale_label ? ? ? ? ? ? 分类 ? ? 将数据集分为训练数据和测试数据 ? ? 首先我们将实验数据分为训练数据和测试数据 ? ? loa

libSVM介绍(二)

鉴于libSVM中的readme文件有点长,并且,都是採用英文书写,这里,我把当中重要的内容提炼出来,并给出对应的样例来说明其使用方法,大家能够直接參考我的代码来调用libSVM库. 第一部分,利用libSVM自带的简易工具来演示SVM的两类分类过程.(下面内容仅仅是利用libSVM自带的一个简易的工具供大家更好的理解SVM,假设你对SVM已经有了一定的了解,能够直接跳过这部分内容) 首先,你要了解的是libSVM仅仅是众多SVM实现版本号中的当中之中的一个.而SVM是一种进行两类分类的分类器,

libsvm

所有关于libsvm2.9的前期工作准备好以后,就必须考虑将自己的数据转换为libsvm对应的格式来做分类验证的问题 训练与测试数据文件的格式如下所示 <label> <index1>:<value1> <index2>:<value2>… . . . 每行包含一个实例,并且以字符’\n’结束.对于分类来讲,<label>是整型数据,表示类别(支持多分类).对于回归来 讲,<label>是任意实数(浮点数),表示目标值.o

Libsvm在python中的使用

LIBSVM是台湾大学林智仁(LinChih-Jen)教授等开发设计的一个简单.易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进.修改以及在其它操作系统上应用:该软件对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数可以解决很多问题:并提供了交互检验(Cross Validation)的功能.该软件包可在http://www.csie.ntu.edu.tw/~cjlin/免费获得.该软件可

LibSVM for Python 使用

经历手写SVM的惨烈教训(还是太年轻)之后,我决定使用工具箱/第三方库 Python libsvm的GitHub仓库 LibSVM是开源的SVM实现,支持C, C++, Java,Python , R 和 Matlab 等, 这里选择使用Python版本. 安装LibSVM 将LibSVM仓库的所有内容放入Python的包目录\Lib\site-packages或者工程目录中. 在libsvm根目录和python子目录下中分别新建名为__init__.py的空文件,这两个空文件将标识所在的目录为

使用libsvm实现文本分类

文本分类,首先它是分类问题,应该对应着分类过程的两个重要的步骤,一个是使用训练数据集训练分类器,另一个就是使用测试数据集来评价分类器的分类精度.然而,作为文本分类,它还具有文本这样的约束,所以对于文本来说,需要额外的处理过程,我们结合使用libsvm从宏观上总结一下,基于libsvm实现文本分类实现的基本过程,如下所示: 选择文本训练数据集和测试数据集:训练集和测试集都是类标签已知的: 训练集文本预处理:这里主要包括分词.去停用词.建立词袋模型(倒排表): 选择文本分类使用的特征向量(词向量):