准备工作:

  1. https://www.csie.ntu.edu.tw/~cjlin/libsvm/,下载LIBSVM;(LIBSVM工具相较于MATLAB自带的工具:1).支持多分类及回归(‘-s 0’ ,‘-s 1' -> 多分类'-s 3';'-s 4' -> 回归;'-s 2' -> one-class SVM),matlab自带的仅支持二分类,且不支持回归2).支持核函数种类多样(linear;polynomial;RBF(radial basis function);sigmoid;precomputed kernel)3).解决算法是SMO(序列最小化),matlab自带的三种SMO,QP(经典二次规划),LS;4).能够调节RBF核函数的参数,matlab自带的不能调节)
  2. 将libsvm文件夹设为matlab搜索路径,并进入.../libsvm-3.xx/matlab目录;
  3. 运行mex -setup,选择编译器(前提是要安装有C++编译器,如VS2010);
  4. 命令窗口输入:make,生成四个文件:libsvmread.mexw32,libsvmwrite.mexw32,svmtrain.mexw32,svmpredict.mexw32(原程序是C++编译的,这四个文件是编译后包含了能够在matlab环境下运行的算法);

接下来便可以进行数据分类了:

  1. 在.../libsvm3.xx目录下运行:[label,inst] = libsvmread('heart_scale')(’heart_scale‘默认在libsvm主目录下,且libsvm要求有参数接受读取的结果,读取结果为:inst:270*13\label:270*1)
  2. 运行:model = svmtrain(label,inst)(训练函数,由于matlab自带有svmtrain函数,因此需要进入matlab/toolbox/搜索svmtrain.m,将其改为svmtrain_matlab.m,否则会调用自带的svmtrain函数)
  3. 其中:model.Paramaters = [-s,-t,-d,-g,-r](model的Paramaters输出了参数组)
  4. 运行:[predict,accuracy,probabilityEstimates] = svmpredict(label,inst,model)(利用模型预测所有样本,libsvm要求所有接受参数都填写,否则无输出)
  5. accuracy是一个3*1矩阵,

    86.6666666666667->准确度
    0.533333333333333->MSE(mean squared error)
    0.532639204545455->r^2(squared correlation coefficient)

使用LIBSVM工具实现样本分类预测——MatLab的更多相关文章

  1. 贝叶斯--旧金山犯罪分类预测和电影评价好坏 demo

    来源引用:https://blog.csdn.net/han_xiaoyang/article/details/50629608 1.引言 贝叶斯是经典的机器学习算法,朴素贝叶斯经常运用于机器学习的案 ...

  2. 使用BERT进行情感分类预测及代码实例

    文章目录 0. BERT介绍 1. BERT配置 1.1. clone BERT 代码 1.2. 数据处理 1.2.1预训练模型 1.2.2数据集 训练集 测试集 开发集 2. 修改代码 2.1 加入 ...

  3. 读论文《BP改进算法在哮喘症状-证型分类预测中的应用》

    总结: 一.研究内容 本文研究了CAL-BP(基于隐层的竞争学习与学习率的自适应的改进BP算法)在症状证型分类预测中的应用. 二.算法思想 1.隐层计算完各节点的误差后,对有最大误差的节点的权值进行正 ...

  4. matlab 基于 libsvm工具箱的svm分类遇到的问题与解决

    最近在做基于无线感知的身份识别这个工作,在后期数据处理阶段,需要使用二分类的方法进行训练模型.本身使用matlab做,所以看了一下网上很多都是使用libsvm这个工具箱,就去下载了,既然用到了想着就把 ...

  5. matlab使用libsvm入门教程——使用matlab安装配置libsvm以及一个svm分类实例

    前言 此教程专注于刚入门的小白, 且博客拥有时效性, 发布于2019年3月份, 可能后面的读者会发现一些问题, 欢迎底下评论出现的问题,我将尽可能更新解决方案. 我开始也在如何安装libsvm上出现了 ...

  6. 机器学习之路:python线性回归分类器 LogisticRegression SGDClassifier 进行良恶性肿瘤分类预测

    使用python3 学习了线性回归的api 分别使用逻辑斯蒂回归  和   随机参数估计回归 对良恶性肿瘤进行预测 我把数据集下载到了本地,可以来我的git下载源代码和数据集:https://gith ...

  7. [数字图像处理]常见噪声的分类与Matlab实现

    1.研究噪声特性的必要性 本文的内容主要介绍了常见噪声的分类与其特性. 将噪声建模,然后用模型去实现各式各样的噪声. 实际生活中的各种照片的老化,都能够归结为下面老化模型. 这个模型非常easy,也能 ...

  8. 区域生长算法 全局分类 C++ & matlab

    // 注:本内容为作者原创,禁止在其他网站复述内容以及用于商业盈利,如需引用,请标明出处:https://www.cnblogs.com/lv-anchoret/ 今天我们来介绍用C++算法如何来实现 ...

  9. 机器学习之路: python k近邻分类器 KNeighborsClassifier 鸢尾花分类预测

    使用python语言 学习k近邻分类器的api 欢迎来到我的git查看源代码: https://github.com/linyi0604/MachineLearning from sklearn.da ...

随机推荐

  1. Linux给用户添加sudo权限

    一.linux给用户添加sudo权限: 有时候,linux下面运行sudo命令,会提示类似: xxxis not in the sudoers file.  This incident will be ...

  2. WPF控件ComboBox 每个Item的ToolTip引发的异常

    介绍 首先介绍下要实现的任务.做一个下拉框,当选择每个项的时候将鼠标发在上面显示该项的ToolTip的内容(Image). 实现 Model: public class SkinInfo : Noti ...

  3. POJ3659 [usaco2008jan_gold]电话网络

    校内OJ上的题,刚开始做的时候以为是道SB题10分钟就能搞完.. 然后准备敲了才发现自己是个SB.. 刚开始以为是个很裸的TreeDP,然后就只设了两个状态,但是怎么想怎么不对.复杂度好像要爆炸.改成 ...

  4. 10 months then free? 10个月,然后自由

    Parole board to recommend Oscar Pistorius be released in August 假释委员会将建议奥斯卡·皮斯托瑞斯在8月份被释放 By Don Melv ...

  5. mysql数据库创建函数过程

    1.创建mysql数据库的存储过程,语句 2.选择执行创建的数据库存储过程即可

  6. C中的字符串实例

    1.#include <stdio.h>#include <assert.h>size_t strlen(const char* s){    return ( assert( ...

  7. 用LinkedList模拟栈数据结构的集合

    用Eclipse软件进行操作    有2种方法,左边为第一种,右边为第二种 创建class为MyStack 代码实现: package cn_LinkedList;   import java.uti ...

  8. WinForm------如何将GridControl数据导出到Excel

    转载: http://www.cnblogs.com/xiaofengfeng/archive/2011/11/22/2258906.html 代码: SaveFileDialog saveFileD ...

  9. Linux下安装setup tools小工具

    1, 最小化的linux系统(centos\redhat)默认都是没有安装setup图形小工具的,你输入setup命令会提示 command not found . 如果要使用这个命令安装方法 1.安 ...

  10. Oracle 的表备份的方法

    1.直接备份(防止误操作后数据库表不能恢复) create table new_table as select * from old_table; 2.创建表头,然后插入列(繁琐的做法) create ...