zoukankan      html  css  js  c++  java
  • 学习笔记149—LIBSVM介绍

    Introduction

    LIBSVM is an integrated software for support vector classification, (C-SVC, nu-SVC), regression (epsilon-SVR, nu-SVR) and distribution estimation (one-class SVM). It supports multi-class classification.

    Since version 2.8, it implements an SMO-type algorithm proposed in this paper:
    R.-E. Fan, P.-H. Chen, and C.-J. Lin. Working set selection using second order information for training SVM. Journal of Machine Learning Research 6, 1889-1918, 2005. You can also find a pseudo code there. (how to cite LIBSVM)

    Our goal is to help users from other fields to easily use SVM as a tool. LIBSVM provides a simple interface where users can easily link it with their own programs. Main features of LIBSVM include

    • Different SVM formulations
    • Efficient multi-class classification
    • Cross validation for model selection
    • Probability estimates
    • Various kernels (including precomputed kernel matrix)
    • Weighted SVM for unbalanced data
    • Both C++ and Java sources
    • GUI demonstrating SVM classification and regression
    • PythonRMATLABPerlRubyWekaCommon LISPCLISPHaskellOCamlLabVIEW, and PHP interfaces. C# .NET code and CUDA extension is available.
      It's also included in some data mining environments: RapidMinerPCP, and LIONsolver.
    • Automatic model selection which can generate contour of cross validation accuracy.

    Download LIBSVM

    The current release (Version 3.24, September 2019) of LIBSVM can be obtained by downloading the zip file or tar.gz file. You can also check this github directory. Please e-mail us if you have problems to download the file.

    The package includes the source code of the library in C++ and Java, and a simple program for scaling training data. A README file with detailed explanation is provided. For MS Windows users, there is a sub-directory in the zip file containing binary executable files. Precompiled Java class archive is also included.

    Please read the COPYRIGHT notice before using LIBSVM


    Examples of options: -s 0 -c 10 -t 1 -g 1 -r 1 -d 3
    Classify a binary data with polynomial kernel (u'v+1)^3 and C = 10

     
    options:
    -s svm_type : set type of SVM (default 0)
    	0 -- C-SVC
    	1 -- nu-SVC
    	2 -- one-class SVM
    	3 -- epsilon-SVR
    	4 -- nu-SVR
    -t kernel_type : set type of kernel function (default 2)
    	0 -- linear: u'*v
    	1 -- polynomial: (gamma*u'*v + coef0)^degree
    	2 -- radial basis function: exp(-gamma*|u-v|^2)
    	3 -- sigmoid: tanh(gamma*u'*v + coef0)
    -d degree : set degree in kernel function (default 3)
    -g gamma : set gamma in kernel function (default 1/num_features)
    -r coef0 : set coef0 in kernel function (default 0)
    -c cost : set the parameter C of C-SVC, epsilon-SVR, and nu-SVR (default 1)
    -n nu : set the parameter nu of nu-SVC, one-class SVM, and nu-SVR (default 0.5)
    -p epsilon : set the epsilon in loss function of epsilon-SVR (default 0.1)
    -m cachesize : set cache memory size in MB (default 100)
    -e epsilon : set tolerance of termination criterion (default 0.001)
    -h shrinking: whether to use the shrinking heuristics, 0 or 1 (default 1)
    -b probability_estimates: whether to train a SVC or SVR model for probability estimates, 0 or 1 (default 0)
    -wi weight: set the parameter C of class i to weight*C, for C-SVC (default 1)
    
    The k in the -g option means the number of attributes in the input data.
    

    To install this tool, please read the README file in the package. There are Windows, X, and Java versions in the package.

    参考连接:https://www.csie.ntu.edu.tw/~cjlin/libsvm/

    使用文档下载链接:https://pan.baidu.com/s/1ocPmPBjA82O_5fDkd9nl-g  提取码:eyhy

  • 相关阅读:
    前端-【学习心得】-node使用杂谈
    前端-【学习心得】-自己定义一个触摸函数
    前端-【学习心得】-模板渲染的简单方法
    [iOS]NSArray求最大值最小值平均值和的快速方法
    ARC与MRC的混用
    [转]让Xcode的控制台支持LLDB类型的打印
    [iOS]将图片保存到本地相册
    [iOS]深度遍历view的subview
    [转]NSAssert的使用
    [封装]iOS获取设备唯一标识
  • 原文地址:https://www.cnblogs.com/hechangchun/p/12671985.html
Copyright © 2011-2022 走看看