精华内容
下载资源
问答
  • 2022-03-24 11:15:15

    一、引言:

    LIBSVM提供了多语言(java、python和matlab)的SVM实现,可以便捷地处理分类或回归问题,本文记录基于matlab的LIBSVM学习笔记。

    二、环境搭建:

    LIBSVM下载链接:https://github.com/cjlin1/libsvm
    Windows系统下安装:预编译的mex文件存放在’…/windows’,需要将其复制到matlab文件夹下
    matlab软件中编译:首先将libsvm所在的matlab文件夹及其子文件夹添加到matlab搜索路径中;然后在命令行中输入make编译得到’libsvmread.mex’, ‘libsvmwrite.mex’, ‘svmtrain.mex’, and
    'svmpredict.mex’文件。

    三、使用:

    1.数据说明及其读取方法

    数据格式:[label] [index1]:[value1] [index2]:[value2] …
    示例:

    /*
    0.099 1:5000 2:0.06 3:2 4:1
    */
    

    数据读取方式

    [label_train, inst_train] = libsvmread('filePath');
    

    其中:

    • label_train:训练标签,m*1矩阵(m表示样本数),类型必须为double;
    • inst_train:训练实例,m*n矩阵(n表示样本的特征数),类型必须为double;

    2.SVM模型训练

    model = svmtrain(label_train, inst_train [, 'libsvm_options']);
    

    其中:

    • libsvm_options:模型参数,string类型

    libsvm_options

    -s 设置svm类型:

    0 – C-SVC
    1 – v-SVC
    2 – one-class-SVM
    3 –ε-SVR
    4 – n - SVR

    -t 设置核函数类型,默认值为2

    0 –线性核:u’v
    1 –多项式核:(g
    u’v+coef0)degree
    2 – RBF核:exp(-γ
    ||u-v||2)
    3 – sigmoid核:tanh(γ*u’*v+coef0)

    其它设置
    /**
    -d degree:设置多项式核中degree的值,默认为3;
    -g γ:设置核函数中γ的值,默认为1/k,k为特征(或者说是属性)数;
    -r coef 0:设置核函数中的coef 0,默认值为0;
    -c cost:设置C-SVC、ε-SVR、n - SVR中从惩罚系数C,默认值为1;
    -n v:设置v-SVC、one-class-SVM与n - SVR中参数n,默认值0.5;
    -p ε:设置v-SVR的损失函数中的e,默认值为0.1;
    -m cachesize:设置cache内存大小,以MB为单位,默认值为40;
    -e ε:设置终止准则中的可容忍偏差,默认值为0.001;
    -h shrinking:是否使用启发式,可选值为0或1,默认值为1;
    -b 概率估计:是否计算SVC或SVR的概率估计,可选值0或1,默认0;
    -wi weight:对各类样本的惩罚系数C加权,默认值为1;
    -v n:n折交叉验证模式;
    */
    

    示例:

    model = svmtrain(label_train, inst_train, '-s 4 -t 2');
    

    3.预测

    [predicted_label, accuracy, decision_values/prob_estimates] = svmpredict(label_test, inst_test, model [, 'libsvm_options']);
    

    示例:

    [label_predicted, accuracy, dec_values] = svmpredict(label_test, inst_test, model)
    

    参考:

    [1] 勉旃,LIBSVM使用方法
    [2] AlanDreamer,matlab安装LIBSVM

    更多相关内容
  • LibSVM训练

    2021-11-18 20:34:05
    一、LIBSVM 二、LIBSVM的下载及安装 三、基于LIBSVM处理手工生成数据集 1. 启动LIBSVM 2. 手工绘制数据集 3. 利用LIBSVM训练模型并求出决策函数 四、总结 五 参考链接 一、LIBSVM 这是一个简单、易于使用和...

    目录

    一、LIBSVM

    二、LIBSVM的下载及安装

     三、基于LIBSVM处理手工生成数据集

    1. 启动LIBSVM

    2. 手工绘制数据集

     3. 利用LIBSVM训练模型并求出决策函数

     四、总结

    五 参考链接


    一、LIBSVM

     这是一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用;该软件对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数可以解决很多问题;并提供了交互检验(Cross Validation)的功能。该软件可以解决C-SVM、ν-SVM、ε-SVR和ν-SVR等问题,包括基于一对一算法的多类模式识别问题

    二、LIBSVM的下载及安装

    下载地址:

    LIBSVM -- A Library for Support Vector Machines

    将下载的压缩文件解压即可:

     三、基于LIBSVM处理手工生成数据集

    1. 启动LIBSVM

    点击解压文件夹下的windows文件夹,在文件夹中找到名为svm-toy.exe的运行程序并运行

     

     

     

    2. 手工绘制数据集

    点击鼠标左键可进行描点

     点击Change切换颜色,再描一组点

     点击Save将数据保存为test作为训练集

     

     再设置一组数据作为测试集

     3. 利用LIBSVM训练模型并求出决策函数

    导入库:
     

    from libsvm.svmutil import *
    from libsvm.svm import *
    import scipy.spatial
    

    数据导入:

    label,data= svm_read_problem('test.txt')#训练数据
    p_label,p_data=svm_read_problem('test1.txt')#测试数据
    

    使用线性核训练模型

    para ='-t 0 -c 4 -b 1' #训练参数
    model=svm_train(label,data,para)
    svm_save_model('model1.txt',model)
    acc=svm_predict(p_label,p_data,model)
    

    运行结果:

     模型参数及结果:

     使用多项式核训练模型

    para ='-t 1 -c 4 -b 1' #训练参数
    #多项式核
    model=svm_train(label,data,para)
    svm_save_model('model2.txt',model)
    acc=svm_predict(p_label,p_data,model)
    

    运行结果:

     模型参数及结果:

     使用高斯核训练模型

    para ='-t 2 -c 4 -b 1'#训练参数
    model=svm_train(label,data,para)
    svm_save_model('model3.txt',model)
    acc=svm_predict(p_label,p_data,model)
    

    运行结果:

     模型参数及结果

     四、总结

    SVM用于模式识别或回归时,SVM方法及其参数、核函数及其参数的选择,也就是说最优SVM算法参数选择还只能是凭借经验、实验对比、大范围的搜寻或者利用软件包提供的交互检验功能进行寻优。

    五 参考链接

    https://blog.csdn.net/YangMax1/article/details/121374574

    展开全文
  • libsvm的安装及使用

    2021-10-28 17:12:59
    参考:带有权重的libsvm的安装及使用参考LibSVM 安装使用 - ranjiewen - 博客园 libsvm下载网址:LIBSVM -- A Library for Support Vector Machines 需要的windows版本svm工具包位置如下 如果需要其他扩展版本...

    参考:带有权重的libsvm的安装及使用参考LibSVM 安装使用 - ranjiewen - 博客园

    MATLAB libsvm 安装和使用_qq:843375677的博客-CSDN博客_libsvm安装

    libsvm下载网址:LIBSVM -- A Library for Support Vector Machines 

    需要的windows版本svm工具包位置如下

     如果需要其他扩展版本,比如带有权重的svm,可以到LIBSVM_tools下查找。

    注意:

    建议直接去官网找发布的libsvm工具包,最开始直接用了自己以前编译好的,matlab报出了各种错误,从选择编译器开始,到无法导出mex文件……等一系列问题。后来去官网直接找最新版本,mex -setup; make两步一次性就成功了!就很离谱,白费半天时间

    安装完成后的测试

    将Libsvm文件下的测试数据集heart_scale复制到Libsvm\matlab下,后续的操作将在该文件夹下进行,同时将MATLAB工作路径转至该文件下(在MATLAB中也可完成文件的复制粘贴工作)。

    在命令行窗口输入

    [heart_scale_label,heart_scale_inst]=libsvmread('heart_scale');
    model = svmtrain(heart_scale_label,heart_scale_inst) ;
    [predict_label,accuracy,dec_values] = svmpredict(heart_scale_label,heart_scale_inst,model);

     结果为

     或者带权重的测试

    % 1、测试带权重的svm
    [heart_scale_label, heart_scale_inst] = libsvmread('heart_scale'); %读取数据
    heart_scale_weight = load('heart_scale.wgt');
    model = libsvmtrain(heart_scale_weight, heart_scale_label, heart_scale_inst, '-c 1'); %改名字了  +lib  ;将编译完的svmtrain改为libsvmtrain,不然svmtrain会与早期matlab自带的svm重名
    % model = libsvmtrain([], heart_scale_label, heart_scale_inst, '-c
    % 1');%不带权重的
    [predict_label, accuracy, dec_values] = libpredict(heart_scale_label, heart_scale_inst, model);   %svmpredict改为libpredict
    

    结果

     

    展开全文
  • 新闻文本分类libsvm格式数据

    热门讨论 2010-08-17 21:57:59
    有搜狗分类新闻语料库得出的libsvm格式数据,特征词选择方法为IG,更多了解请参阅个人博客http://hi.baidu.com/finallyliuyu/home 查阅相关文章
  • Excel数据转libsvm数据

    2014-03-29 15:10:59
    由于libsvm支持的数据格式是有固定规范的(采用[分类标示 序号:值 …]的形式)。用户若想将一些波形数据导入到libsvm工具中分析运算,则首先要解决格式转换问题。这个过程虽然不困难,但是也会消耗实验人员一定的...
  • libsvm matlab 代码 libsvm libsvm matlab 自带的参数 和 libsvm的库是不一样的。。。详见代码。。。 代码主要作用:比较在mnist这个数据集上,svm 和 cnn性能的比较
  • 获取libsvm格式的数据

    千次阅读 2018-01-11 17:29:42
    #!/usr/bin/python # -*- coding:utf-8 -*- #author: by Tong import sys import csv reload(sys) sys.setdefaultencoding("utf-8") def setlibsvm(): readin = open('data.txt','r') output = open("lib_
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    #author: by Tong
    import sys
    import csv
    reload(sys)
    sys.setdefaultencoding("utf-8")
    
    def setlibsvm():
        readin  = open('data.txt','r')
        output = open("lib_to_svm.txt",'wb')
        try:
            col = 0
            the_line = readin.readline()
            while the_line:
                if col == 0:
                    output.write(the_line)
                    col = col +1
                    the_line = readin.readline()
                    continue
                the_line = the_line.strip('\n')
                output_line = ''
                index = 0
                # print the_line.split('\t')
                for sub_line in the_line.split(' '):
                    if index == 0 :
                        output_line = sub_line
                    if index > 0 and sub_line != '0':
                        output_line += ' '+str(index)+':'+str(sub_line)
                    index = index + 1
                output.write(output_line)
                output.write('\n')
                the_line = readin.readline()
        finally:
            readin.close()
    
    if __name__ == "__main__":
        setlibsvm()
    数据的格式为:
    label feature1 feature2 feature3
    其中以空格作为分隔符,其中的代码可以改变
    label feature1 feature2 feature3 feature4
    1 1:434 2:32 3:2
    0 1:323 3:3 4:3
    0 2:3 4:3
    0 1:23 2:3 3:2 4:1
    这是最终的数据格式。好处是对于稀疏的数据能够节省空间。
    原数据格式为:
    label feature1 feature2 feature3 feature4
    1 434 32 2 0
    0 323 0 3 3
    0 0 3 0 3
    0 23 3 2 1
    1 3 12 0 55

    展开全文
  • 首先通过博客,安装好libsvm库,博客地址:https://blog.csdn.net/qq874455953/article/details/88782121, 然后直接点击运行代码即可, 同时你也可以添加数据集,然后更改一下矩阵参数就可以利用自己的数据集进行...
  • 参考博文请移步:http: blog csdn net u014691453 article details 40393137">博文以图文并茂的方式 细致讲解了如何在Visual Studio(VS2012 & VS2010 使用 libsvmlibsvm 3 18)工具箱的过程 ...
  • libsvm python版安装包

    2016-07-18 14:30:28
    安装python版的libsvm,具体参照http://blog.csdn.net/m624197265/article/details/41894261就可以了
  • 基于基于支持向量机libsvm的回归预测分析拟合模型,利用数据做预测,数据代码都在压缩包里。
  • matlab 安装libSVM

    2021-02-20 14:34:53
    1.libsvm下载或者从这里下载 2.将libsvm 解压到任意目录下(无空格,非中文): 3.运行matlab,在主页(home)的设置路径(set path)中添加libsvm: 4. 将当前路径设置到libsvm /matlab 后,在命令行窗口运行 》...
  • libsvm数据格式转换

    2016-12-05 21:43:44
    libsvm要求的数据格式转换工具,excel宏文件,可以把 *.xls文件转换成libsvm的数据格式,方便快捷,本人已使用过!
  • libsvm-3.11-matlab-bin.7z

    2019-08-15 00:35:12
    Matlab编译好的库,下载下来,扔到matlab安装目录下面的tools文件夹下, 1、将libsvm-3.11文件夹复制到matlab/tools下面 ...更多详情请参考:https://blog.csdn.net/pang9998/article/details/99617880
  • 一、安装http://www.csie.ntu.edu.tw/~cjlin/libsvm/matlab/。...打开matlab,在matlab的面板上找到set path选项(不同版本不一样R2010b在file菜单下),将刚下载的libsvm整个目录都添加到matlab的...
  • matlab中libsvm安装问题

    2015-04-14 22:52:02
    matlab7.1安装libsvm步骤,以及出现的问题和解决方法
  • matlab安装LIBSVM

    万次阅读 热门讨论 2019-02-27 16:14:14
    由于matlab中自带的svmtrain和svmclassify函数只能进行原始的二分(标签只能包含两个类别,正和负),如果想使用多类别标签分类,比如高光谱分类等等,那么就需要使用libsvm工具箱,下面就win10系统的matlab R2016a...
  • 资源分类:Python库 所属语言:Python 资源全名:libsvm_official-3.25.0-cp37-cp37m-win_amd64.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
  • MATLAB libsvm 安装和使用

    万次阅读 多人点赞 2018-09-13 14:01:35
    最近在学习SVM,在matlab上安装和使用Libsvm的过程中遇到了好多问题,在网上查看了许多资料,踩了许多坑。 整理一下供大家分享,希望能节省大家在安装过程中的时间。 一、安装 1.libsvm 下载 本人使用windows ...
  • Libsvm安装教程(详细版)

    千次阅读 2017-01-06 15:04:20
    Libsvm安装教程 1. 下载 在LIBSVM的主页上下载最新版本的软件包,并解压到合适目录中。一般包括下列文件:   2. 编译 首先在Matlab中进入LIBSVM根目录下的matlab目录(如C:\libsvm-3.17\matlab),在命令...
  • libsvm简单代码解释

    2019-10-14 10:11:49
    https://blog.csdn.net/zhf1234abc/article/details/46853857 首先来看一下Libsvm的模型训练部分: 采用为One-against-one的策略假如有1,2,3,4个类可以(1,2)(1,3)(1,4)(2,3)(2,4)(2,4)可以...
  • libsvm

    2020-06-06 11:41:49
    https://blog.csdn.net/Jibaoxian/article/details/52181588 https://www.cnblogs.com/sub2020/p/8007516.html https://blog.csdn.net/YoungLittleT/article/de...
  • LIBSVM的使用方法以及参数注释总结

    千次阅读 2021-10-14 10:39:14
    1.1libsvmtrain三个输入参数,其中 1.2libsvmtrain返回参数 1.3 模型最佳参数选取 1.4 SVM 怎样能得到好的结果 2. 使用训练模型进行预测 2.1 libsvmpredict输入参数 2.1 libsvmpredict返回参数 3. 训练的参数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,599
精华内容 1,439
关键字:

libsvm csdn