LIBSVM -- A Library for Support Vector Machines--转
原文地址:http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html
?
Chih-Chung Chang and?Chih-Jen Lin
?Version 3.21 released on December 14, 2015. It conducts some minor fixes.?
?LIBSVM tools?provides?many extensions?of LIBSVM. Please check it if you need some functions not supported in LIBSVM.?
?We now have a nice page?LIBSVM data sets?providing problems in LIBSVM format.?
?A practical guide to SVM classification?is available now! (mainly written for beginners)?
We now have an easy script (easy.py) for users who know NOTHING about SVM. It makes everything automatic--from data scaling to parameter selection.?
The parameter selection tool grid.py generates the following contour of cross-validation accuracy. To use this tool, you also need to install?python?and?gnuplot.
?
To see the importance of parameter selection, please see our?guide?for beginners.?
?Using libsvm, our group is the winner of IJCNN 2001 Challenge (two of the three competitions), EUNITE world wide competition on electricity load prediction,?NIPS 2003 feature selection challenge?(third place),?WCCI 2008 Causation and Prediction challenge?(one of the two winners), and?Active Learning Challenge?2010 (2nd place).
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
- Python,?R,?MATLAB,?Perl,?Ruby,?Weka,?Common LISP,?CLISP,?Haskell,?OCaml,?LabVIEW, and?PHP?interfaces.?C# .NET?code and?CUDA?extension is available.?
It's also included in some data mining environments:?RapidMiner,?PCP, and?LIONsolver. - Automatic model selection which can generate contour of cross validation accuracy.
Download LIBSVM
The current release (Version 3.21, December 2015) 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.?
Graphic Interface
Here is a simple applet demonstrating SVM classification and regression.
Click on the drawing area and use ``Change'' to change class of data. Then use ``Run'' to see the results.
Change?Run?Clear?
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
To install this tool, please read the README file in the package. There are Windows, X, and Java versions in the package.?
Additional Information (how to cite LIBSVM)
Frequently Asked Questions (FAQ)?and?Change log
References of?LIBSVM:
- Official implementation document:?
C.-C. Chang and C.-J. Lin. LIBSVM : a library for support vector machines. ACM Transactions on Intelligent Systems and Technology, 2:27:1--27:27, 2011.?
pdf,?ps.gz,?ACM digital lib. - Instructions for using LIBSVM are in the README files in the main directory and some sub-directories.
- A guide for beginners:?
C.-W. Hsu, C.-C. Chang,?C.-J. Lin.?A practical guide to support vector classification - An?introductory video?for windows users.
- Other implementation documents:?
R.-E. Fan, P.-H. Chen, and C.-J. Lin.?Working set selection using the second order information for training SVM. Journal of Machine Learning Research 6, 1889-1918, 2005. You can also find a pseudo code there. - Other documents?written by users. (including some non-English documents)
For more information about nu-SVM and one-class SVM?, please see
- B. Sch?lkopf, A. Smola, R. Williamson, and P. L. Bartlett. New support vector algorithms.?Neural Computation, 12, 2000, 1207-1245.
- B. Sch?lkopf, J. Platt, J. Shawe-Taylor, A. J. Smola, and R. C. Williamson. Estimating the support of a high-dimensional distribution.?Neural Computation, 13, 2001, 1443-1471.
Interfaces and extensions to LIBSVM
| Java | Java code close to LIBSVM C code. | LIBSVM authors at National Taiwan University. | The latest | Included inLIBSVM?package |
| Java | Refactored Java code for faster training/testing. | David Soergel?at University of California, Berkeley. | 2.88 | jlibsvm |
| MATLAB and OCTAVE | A simple MATLAB and OCTAVE interface | LIBSVM authors at National Taiwan University. | The latest | Included inLIBSVM?package |
| MATLAB | An old version (no longer available) | Junshui Ma and Stanley Ahalt at Ohio State University | 2.33 | Dead Link |
| R | Please install by typing?install.packages('e1071')?at R command line prompt. (document?and?examples). | David Meyer?at the Wirtschaftsuniversit?t Wien (Vienna University of Economics and Business Administration) | 3.17 | WWW |
| Python | A python interface has been included in LIBSVM since version 2.33. | Initiated by?Carl Staelin?at HP Labs. Updated/maintained by LIBSVM authors. | The latest | Included inLIBSVM?package |
| Python and C# | Interfaces provided in the framework pcSVM | Uwe Schmitt from Germany | 2.71 | pcSVM |
| Perl | ? | Matthew Laird at Simon Fraser University, Canada and Saul Rosa | 3.12 | perl-libsvm |
| Ruby | Ruby language bindings for LIBSVM | C. Florian Ebeling and Rimas Silkaitis | 3.18 | rb-libsvm |
| Ruby | A Ruby interface via SWIG | Tom Zeng | 2.9 | libsvm-ruby-swig |
| Weka | ? | Yasser EL-Manzalawy and Vasant Honavar at Iowa State University. | 2.8 | WLSVM |
| Node.js | ? | Nicolas Panel | 3.18 | Node.js interface |
| Scilab | ? | Holger Nahrstaedt from the Technical University of Berlin | 3.11 | Scilab interface |
| Common LISP | Common Lisp wrapper of LIBSVM | Gábor Melis | 2.88 | Common LISP wrapper |
| CLISP | An?FFI-based interface distributed with CLISP | Sam Steingold | 2.9 | CLISP LibSVM module |
| Haskell | A Haskell binding to LIBSVM | Paulo Tanimoto | 3.1 | Haskell binding |
| OCaml | A OCaml binding to LIBSVM | Oliver Gu | 3.16 | OCaml binding |
| Nimrod | LIBSVM Wrapper for?Nimrod | Andreas Rumpf | 3.12 | libsvm wrapper |
| .NET | LIBSVM for .NET | Nicolas Panel | 3.17 | libsvm-net |
| .NET | .NET conversion of LIBSVM | Matthew Johnson | 2.89 | SVM.NET |
| CUDA | LIBSVM Accelerated with GPU using the CUDA Framework | A. Athanasopoulos, A. Dimou, V. Mezaris, and I. Kompatsiaris at CERTH-ITI | 3.0 | MKLAB |
| Cell | LIBSVM Accelerated using Cell Processors | Moreno Marzolla?at University of Bologna, Italy | 2.89 | libsvm_CBE |
| Labview | LabView interface to LIBSVM. Both Windows/Linux are supported. | Oystein Sture | 3.20 | LabView interface |
| C# | C# wrapper of libsvm | Can Erhan | 3.20 | github directory |
| PHP | LIBSVM binding for PHP | Ian Barber | The latest (LIBSVM must be installed first) | PHP binding |
| Android | LIBSVM on Android | Yu-Chih Tung at Univ of Michigan | 3.20 | LIBSVM on Androis |
?
Acknowledgments: This work was supported in part by the National Science Council of Taiwan via the grant NSC 89-2213-E-002-106. The authors thank?their group members and users?for helpful discussion and comments. Please send comments and suggestions to?Chih-Jen Lin.
轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/articles/5586277.html
總結(jié)
以上是生活随笔為你收集整理的LIBSVM -- A Library for Support Vector Machines--转的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 支持向量机--转
- 下一篇: spring源码分析之spring jm