LibLinear(SVM包)的MATLAB安装

1 LIBSVM介绍

LIBSVM是众所周知的支持向量机分类工具包(一些支持向量机(SVM)的开源代码库的链接及其简介),运用方便简单,其中的核函数(常用核函数-Kernel Function)可以自己定义也可以默认。但是对一些大数据来说,有没有非线性映射,他们的性能差不多。如果不使用核,我们可以用线性分类或者回归来训练一个更大的数据集。这些数据往往具有非常高维的特征,例如文本分类Document classification。所以LIBSVM就诞生了。

关于liblinear 和 libSVM的详细介绍及其比较可以参见链接:

Libsvm和Liblinear的比较

liblinear VS libSVM

Libsvm和Liblinear的使用经验谈

Libsvm的MATLAB安装步骤

(1)下载安装包:http://download.csdn.net/detail/tiandijun/8136887

我使用的是最新版本liblinear1.95,MATLAB是R2012b.

(2)解压到相应的文件夹,在MATLAB中设置子路径,打开matlab,点击File->SetPath->Add withSubfolders,找到liblinear-1.95\matlab所在文件夹,点击save,点击close。

(3)在matlab的command window中输入mex -setup,选择合适的编译器,具体如下:

上图最后的“y”是自己手动输入进去的,表示同意选择编译方式。

(4)输入“2”作为编译环境

确认,输入“y”

结果图如下;

(5)在matlab的command window中输入make,如果正确的话,会如下所示:

同时,可以看到在当前目录下生成下图中的文件

特别是生成train.mexw32和predict.mexw32.

到这一步,Liblinear安装成功。

3 在matlab中测试Liblinear是否能用

model = train(svm_category', sparseTrainMatrix)

[output_label, accuracy] = predict(svm_category', sparseTestMatrix, model);

train中参数:svm_category'为列向量,表示training set的class label,假设为n维

sparseTrainMatrix为n*m维矩阵,n表示training set中样本的个数,m表示每个样本中feature的个数

model的内容为

predict中参数和train中取的类似,本例中直接把training set作为testing set重新预测了一下,model为train中输出的结构体

output_label输出的是testing set的class label的预测值

accuracy是预测准确度

到此结束。(注:具体数据可参考Andrew Ng的CS229课程problem set2的第二题)

具体运行还没有成功,欢迎讨论和指点。

LibLinear(SVM包)的MATLAB安装的更多相关文章

  1. LibLinear(SVM包)使用说明之(二)MATLAB接口

    LibLinear(SVM包)使用说明之(二)MATLAB接口 LibLinear(SVM包)使用说明之(二)MATLAB接口 zouxy09@qq.com http://blog.csdn.net/ ...

  2. LibLinear(SVM包)使用说明之(一)README

    转自:http://blog.csdn.net/zouxy09/article/details/10947323/ LibLinear(SVM包)使用说明之(一)README zouxy09@qq.c ...

  3. LibLinear(SVM包)使用说明之(三)实践

    LibLinear(SVM包)使用说明之(三)实践 LibLinear(SVM包)使用说明之(三)实践 zouxy09@qq.com http://blog.csdn.net/zouxy09 我们在U ...

  4. Matlab安装记录 - LED Control Activex控件安装

    Matlab安装记录-LED Control Activex控件安装 2013-12-01  22:06:36 最近在研究Matlab GUI技术,准备用于制作上位机程序:在Matlab GUI的技术 ...

  5. win7下编译Microsoft版的caffe包的MATLAB接口(CPU模式)

    本博客是基于http://www.cnblogs.com/njust-ycc/p/5776286.html这篇博客修改的,做出了更正与补充. 本人机器的环境:Win7+MATLAB2014b+VS20 ...

  6. 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题

    动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...

  7. npm包与gem包--在线&离线安装

    目录 NPM 在线 离线 GEM 在线 离线 NPM NPM,即为Node的包管理工具,官网为 https://www.npmjs.com/,我们可以在站内搜索所需要的NPM包,了解相关的使用规则 安 ...

  8. Python科学计算包模块的安装(ubuntu)

    Python的科学计算包设计到C语言代码的编译,采用pip的方式安装会出现错误. 一种简单的方式是采用的集成包,具体的步骤参考:https://www.continuum.io/downloads#_ ...

  9. CentOS 下 rpm包与 yum 安装与卸载

    rpm包的安装:      1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文件也强迫安 ...

随机推荐

  1. Java编程最差代码

    字符串连接误用 错误的写法:  String s = ""; for (Person p : persons) { s += ", " + p.getName( ...

  2. readonly和const区别

    常量和只读变量的区别 const string name="Xuj"; readonly string name; 1.常量是不可改变的,只读变量只能在构造方法中才能改变其值. 2 ...

  3. WebView组件的应用

    1.什么是WebView? WebView(网络视图)能加载显示网页,可以将其视为一个浏览器,它使用了WebKit渲染引擎加载显示网页. <?xml version="1.0" ...

  4. entityframework多条件查询类

    entityframework多条件查询类 var dataaccess = new BaseAccess(); int totalCount = 0; var paramS = new OrderM ...

  5. job还是job

    declare jobno binary_integer;rm_days number;rm_hour number;  --传入的hourmy_hour number;    --取出当前时间的ho ...

  6. iOS 添加占位符

    添加占位符: 首先占位符的大小要比textView 的大小要小一些 1.添加一个取消键盘的通知 2.添加一个代理事件 1. // removeKeyBoard 添加通知收回键盘 [[NSNotific ...

  7. SqlServer Alter Table 语句的用法

    更改 字段的数据类型 Alter Table TB_ITM_ITEM alter column is_timing int NULL; 新增字段: alter table WeiboSmartCate ...

  8. js生成动态日历

    效果图:   看代码: <html> <head> <title>动态日历</title> <style type="text/css& ...

  9. 02_天气查询_socket方式模拟_单线程

    [远程请求的B/S模式(客户端/服务器)] TCP: 是一种传输层协议,一种面向连接的协议.经过三次握手客户端和服务器端连接一个连接(通道).提供可靠的数据传输,该协议一般服务质量要求比较高的情况,T ...

  10. 01_JavaMail_04_带附件邮件的发送

    [工程截图] [代码实例] package com.Higgin.mail.demo; import java.io.File; import java.util.Properties; import ...