1.04: 2000/6/17, add "load" button to svm-toy. README file updated. 2.0: 2000/8, major updates. Include nu-svm, one-class svm, and svr 2.01: 2000/9/22, correct the calculation of obj value and number of bounded support vectors 2.02: 2000/9/29, replace b^2/2 newsvm to regular nu svm. 2.03: 2000/10/24 some improvements on the computational speed 2.1: 2000/12/19 Java version included, regression demonstrated in svm-toy 2.2: 2001/1/16 multi-class classification, nu-SVR, remove epsilon_a 2.3: 2001/3/15 c+-, cross validation, fix some minor bugs 2.31: 2001/4/12 fix one bug on one-class SVM, use float for Cache 2.32: 2001/9/23 1. max line number of svm-scale now dynamic 2. gcc 3.0 problem: now g++ always used 3. java code in a "libsvm" package 4. avoid a problem when compiled with Borland C++ builder 2.33: 2001/12/1 Python interface added 2.34: 2002/6/15 Add the subroutine svm_check_parameter in svm.cpp --> better error handling fix bug of python interface for handling different weights fix bug of cross validation in svm-train.c 2.35: 2002/6/16 libsvm.jar was not compiled correctly in 2.34 2.36: 2002/8/4 grid.py added: contour plot of CV accuracy fix several bugs 2.4: 2003/4/1 svm.cpp non-psd kernel using max(...,0) in svm.cpp python interface python interface bug (nu-svm) grid.py -log2c and -log2c for grid.py output current best coarse grid as default (2) ssh for grid.py improvements of scaling 2.5: 2003/11/13 subroutines for accessing decision values and number of labels. for svm.cpp, java, and python interface fix bug of svm-scale.c (about -r and -s factors) use fscanf but not sscanf in svm-predict.c (faster) makefile for windows add "using namespace std;" in some .java files improve easy.py: output cv rate, error messages printed better checking better python interface example svm_test.py and some minor updates 2.6: 2004/04/01 Probability estimates for classification/regression Python interface: use swig 1.3 instead of 1.1 Cross validation becomes a library subroutine A few minor corrections: (not completely listed) more interface functions such as getting svm_type print nu only when Cp=Cn floor division in python interface 2.7: 2004/11/10 Stratified cross validation Better faq Scaling: support storing the factor of y A few minor updates: class QMatrix added improve the use of easy.py and grid.py on windows grid.py: same CV and same g: use smaller C sparse input for python interface working set selection: < to <= 2.71: 2004/11/20 fix a java bug introduced from 2.6 to 2.7 2.8: 2005/04/01 new working set selection via second order information fix minor changes/corrections: problem when cache size less than two kernel columns -v #data -> stratified CV is not loo -> ensure loo is done problem of typing "svm-train -c" only problem of "svm-train -n 1 -s 3 ..." python interface makefile: -fPIC for 32/64bit color change in svmtoy makefile in building QT svmtoy 2.81: 2005/11/20 add a python script subset.py for subsampling slightly modify the working set so it's exact the same as the paper default cache size to 100 MB 2.82: 2006/04/01 precomputed kernel directly implement a fast powi() function poly degree double to int minor corrections: java code for CV 2.83: 2006/11/17 Fix the bug of -t 3 better checking load/save in svm-train.c/svm-predict.c/svm.cpp remove redundant var pos in svm_predict_values (thanks to Albert Strasheim) Better descriptions in README for the precomputed kernel 2.84: 2007/04/01 Improve the shrinking code: faster for some cases Code more 64-bit friendly: allow large -m In Solver, b is replaced by p Subroutine max_violating_pair removed. Things are directly written in do_shrinking(). Modify do_shrinking() so variable names are the same as libsvm document 2.85: 2007/11/6 fix minor memory leak in svm-predict.c add tools/checkdata.py java to 1.5 Makefile: CXX? Makefile.win: avoid warning from .net 2005 avoid warning of gcc 4.2 sigma 0.001 to 1e-12; in Newton direction of prob output 2 * (long int) l avoid warning of old Visual C++ grid.py: avoid gnuplot problem on windows 2.86: 2008/04/01 svm-scale for java version number in svm.h and svm.m4 rename svmtrain.exe to svm-train.exe python: while 1 --> while True, Popen -> call show best parameters on the contour of grid.py 2.87: 2008/10/13 svm-toy/qt updated to qt4 from qt3 fix a bug in svm-scale.c max feature index of -r file is considered Makefile: add make lib; add -Wconversion and -fPIC in Makefile Add "rb" in load_model of svm.cpp Simplify do_shrinking of svm.cpp Change the order of loops in reconstrict_gradient of svm.cpp save the number of kernel evaluations Add python/setup.py 2.88: 2008/10/30 better gradient reconstructions issue a warning when -h 0 may be faster 2.89: 2009/04/01 reduce input/loading time of svm-train/svm-predict by half pointer function so users can specify their own outputs remove info_flush() a extern variable libsvm_version svm-train -q option (disable outputs) svm-scale: warning if more nonzero produced easy.py: popel.communiate() to avoid some deadlock (if lots of outputs when #classes is large) 2.9: 2009/11/? tools/*.py can be run under python 3.0 svm_set_quiet() in python interface to disable outputs check gamma < 0 internal functions to be static