libsvm 的使用
1. libsvm 支持的SVM模型
官网地址:LIBSVM – A Library for Support Vector Machines
libsvm 支持的 SVM 模型如下(C:classification,R:regression):
- C-SVC(C-support vector classification),
- nu-SVC(nu-support vector classification),
- one-class SVM(distribution estimation),
- epsilon-SVR(epsilon-support vector regression),
- nu-SVR(nu-support vector regression)
2. 一个简单demo
%% 加载数据到内存;
load heart_scale.mat
X = heart_scale_inst;
y = heart_scale_label;
N = size(X, 1);
%% 将数据集划分为训练集和测试集
idx = randperm(N); % 对全部样本的一次全排列;
prop = floor( .75*N);
train_X = X(1:prop, :) ;
test_X = X(prop+1:end, :);
train_y = y(1:prop, :);
test_y = y(prop+1:end, :);
%% 通过训练集进行训练
model = svmtrain(train_y, train_X, '-s 0 -t 2 -c 1.2 -g 2.8')
% 将训练好的模型作用在训练集,查看准确率情况
[predicted_labels, accuracy, decision_values] = svmpredict(train_y, train_X, model);
%% 在真实的测试集上进行测试
predicted_labels = svmpredict(test_y, test_X, model);
accuracy = sum(predicted_labels == test_y) / length(test_y)
- svmtrain 参数的意义:
- -s svm类型:SVM设置类型(默认0)
% 0 – C-SVC
% 1 –v-SVC
%2 – 一类SVM
%3 – e -SVR
% 4 – v-SVR - -t 核函数类型:核函数设置类型(默认2)
% 0 – 线性:u’v
% 1 – 多项式:(r*u’v + coef0)^degree
% 2 – RBF函数:exp(-r|u-v|^2)
% 3 –sigmoid:tanh(r*u’v + coef0) - -c cost:设置C-SVC,e -SVR和v-SVR的参数(损失函数)(默认1)
- -g r(gama):核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数)
- -s svm类型:SVM设置类型(默认0)
常见问题的解决
- load heart_scale 数据时的“ASCII 文件 heart_scale 的第 3 行中的列数必须与前面行中的列数相同”。
libsvm 的使用的更多相关文章
- 6.LibSVM核函数
libsvm的核函数类型(svmtrain.c注释部分): "-t kernel_type : set type of kernel function (default 2)\n" ...
- libsvm的数据格式及制作
1.libsvm数据格式 libsvm使用的训练数据和检验数据文件格式如下: [label] [index1]:[value1] [index2]:[value2] … [label] [index1 ...
- libsvm下的windows版本中的工具的使用
下载的libsvm包里面已经为我们编译好了(windows).进入libsvm\windows,可以看到这几个exe文件: a.svm-toy.exe:图形界面,可以自己画点,产生数据等. b.svm ...
- 【转】Windows下使用libsvm中的grid.py和easy.py进行参数调优
libsvm中有进行参数调优的工具grid.py和easy.py可以使用,这些工具可以帮助我们选择更好的参数,减少自己参数选优带来的烦扰. 所需工具:libsvm.gnuplot 本机环境:Windo ...
- Tensorflow 处理libsvm格式数据生成TFRecord (parse libsvm data to TFRecord)
#写libsvm格式 数据 write libsvm #!/usr/bin/env python #coding=gbk # ================================= ...
- LibSVM for Python 使用
经历手写SVM的惨烈教训(还是太年轻)之后,我决定使用工具箱/第三方库 Python libsvm的GitHub仓库 LibSVM是开源的SVM实现,支持C, C++, Java,Python , R ...
- libsvm简介和函数调用参数说明
1. libSVM简介 libSVM是台湾林智仁(Chih-Jen Lin) 教授2001年开发的一套支持向量机库,这套库运算速度挺快,可以很方便的对数据做分类或回归.由于libSVM程序小 ...
- Libsvm Matlab 快速安装教程 (适用于Win7+, 64bit, and Matlab2016a+)
近日在开始学习Machine Learning SVM 相关算法,将Matlab平台安装SVM的步骤记录如下,亲测可用: 开发环境: Windows 8 64 bit, Matlab 2016a, S ...
- win7下matlab2016a配置libsvm
1.下载libsvm https://www.csie.ntu.edu.tw/~cjlin/libsvm/ 2.解压到matlab2016a的安装目录的toolbox下 例如我的D:\Program ...
- WEKA运行LIBSVM出现problem evaluating classifier:rand
原来这个实验已经做了的.也出现了些问题,但是上网找到了解决方法,那个时候是完成数据挖掘的课程论文,用WEKA运行LIBSVM,也没有很深入,简单跑出结果就算了. 这次想着研讨会就讲这个,想着深入进去, ...
随机推荐
- Django模版系统
一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: 在 Django 模板中遍历复杂数据结构的关键 ...
- CF939F Cutlet (单调队列优化DP)
题目大意:要煎一块有两个面的肉,只能在一段k不相交的时间段$[l_{i},r_{i}]$内翻转,求$2*n$秒后,保证两个面煎的时间一样长时,需要最少的翻转次数,$n<=100000$,$k&l ...
- redis搭建与安装2
第一步redis安装:1.首先确认下载包为64位的还是32位的2.下载http://code.google.com/p/servicestack/downloads3.解压下载包得到以下文件:cygw ...
- Springboot - -web应用开发-Servlets, Filters, listeners
一.Web开发使用 Controller 基本上可以完成大部分需求,但是我们还可能会用到 Servlet. Filter. Listener等等 二.在spring boot中的三种实现方式 方法一: ...
- oracle 11G 配置侦听文件
lsnrctl status 130 2017-08-23 03:15:16 oracle cat /etc/hosts 131 2017-08-23 03:15:26 oracle ca ...
- 51nod 1079 中国剩余定理模板
中国剩余定理就是同余方程组除数为质数的特殊情况 我直接用同余方程组解了. 记得exgcd后x要更新 还有先更新b1再更新m1,顺序不能错!!(不然会影响到b1的更新) #include<cstd ...
- 2015 Multi-University Training Contest 4 hdu 5335 Walk Out
Walk Out Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Su ...
- Regular Expressions Syntax
https://support.syslogwatcher.com/support/solutions/articles/8000033627-regular-expressions-syntax
- Tsinsen A1303. tree(伍一鸣) LCT
LCT的各种操作... . cut link add mul size rev query 写的效率不够高... BZOJ上似乎TLE. ... A1303. tree(伍一鸣) 时间限制:2.5s ...
- mac鼠标滚动方向自然问题
mac使用鼠标的时候滚轮方向和Windows是相反的.假设不勾选滚动方向自然,那么触摸板使用不爽. 解决的方法: 1.打开http://pilotmoon.com/scrollreverser/,下载 ...