Permalink
Browse files

Checking LIBSVM Plus 2.9 changes

  • Loading branch information...
vincenzo committed Dec 17, 2010
1 parent 037b7de commit bb1f5a11a43abc90f609f91be03f686d9cefd84d
View
@@ -0,0 +1,19 @@
+AM_CPPFLAGS = -Wconversion
+LIBSVM_SHARED_LIB_VERSION = @LIBSVM_SHARED_LIB_VERSION@
+
+bin_PROGRAMS = svm-predict svm-train svm-scale
+
+svm_predict_SOURCES = svm-predict.c
+svm_train_SOURCES = svm-train.c
+svm_scale_SOURCES = svm-scale.c
+
+svm_predict_LDADD = svm.$(OBJEXT) -lstdc++
+svm_train_LDADD = svm.$(OBJEXT) -lstdc++
+svm_scale_LDADD = svm.$(OBJEXT) -lstdc++
+
+lib_LTLIBRARIES = libsvm.la
+libsvm_la_SOURCES = svm.cpp
+libsvm_la_LDFLAGS = -version-info $(LIBSVM_SHARED_LIB_VERSION)
+
+libsvm_include_HEADERS = svm.h
+libsvm_includedir=$(includedir)
View
@@ -0,0 +1,88 @@
+Libsvm Plus is a straightforward improvement of the official
+Libsvm library (http://www.csie.ntu.edu.tw/~cjlin/libsvm).
+
+Author: Vincenzo Russo (http://neminis.org)
+Download: http://neminis.org/software/libsvm-plus
+Version: 2.90
+
+What are the differences?
+=========================
+
+1. Only C++ code supported and mantained, due to the lack of enough time.
+ No Java code provided. Other language interfaces (like Python, etc.)
+ should be work but only providing the original features of LIBSVM.
+ Anyway, no tests were made.
+
+2. Only Unix: for the same reason stated above, I only test on Linux and
+ Mac OS X, which makes LIBSVM Plus likely to work also on other modern Unix
+ systems. Anyway, you could try to use the Makefile.win included in official
+ LIBSVM package to compile and test LIBSVM Plus on Windows platforms;
+
+3. Four additional kernels: Stump, Perceptron, Laplacian, Exponential.
+ Such kernels might be called "infinite ensemble kernels" because a nonlinear
+ SVM which uses them corresponds to a infinite ensemble classifier.
+ Look at the publications of Hsuan-Tien Lin for more theoretical explanations:
+
+ http://www.work.caltech.edu/~htlin/publication/
+
+ The code for realizing the above kernels was back-ported from his LIBSVM fork
+
+ http://www.work.caltech.edu/~htlin/program/libsvm/#infensemble
+
+ based on the older 2.8 version;
+
+4. Three additional SVM models: Classification (C-SVM) via L2SVM,
+ Support Vector Domain Description (SVDD) via L1SVM and via L2SVM.
+ The code was back-ported from a LIBSVM tool:
+
+ Calculating the radius of the smallest sphere containing all training data.
+ http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/#18
+
+ The SVDD can be used as One Class SVM alternative. More theoretical explanations
+ about SVDD can be found in David J. Tax PhD thesis and other papers
+
+ http://www-ict.ewi.tudelft.nl/~davidt/papers.html
+
+
+Minor changes
+=============
+
+Some additional comments to the source code are provided and some C structures
+(svm_model and decision_function) were moved from the svm.cpp to svm.h to allow
+third part softwares to access them in a easier way. Moreover, the svm_model
+structure now provides three new members: SV_idx (indices of the SVs in the
+original dataset), BSV_idx (indices of the BSVs in the original dataset) and
+lbsv (the number of BSVs). Finally, the enumeration element RBF (which in the
+original LIBSVM refers to the Gaussian kernel) was renamed GAUSSIAN, because
+there are several kernels which belong to the RBF class, not only the Gaussian one.
+
+Windows
+=======
+
+(by Vladislavs Dovgalecs, Universite Bordeaux I, FRANCE)
+
+To compile for Windows, you will need :
+
+1. Microsoft Visual Studio (worked with Visual C++ 2008 Express)
+2. nmake.exe, link.exe and cl.exe are usually found in VC bin directory
+3. Make sure your PATH variable reflects the location of Visual Studio bin directory
+(cl.exe, nmake.exe and link.exe)
+
+Compilation is done following few steps :
+1. Open the console and run VCVARS32.bat. This will setup VC global variables.
+2. Run 'nmake -f Makefile.win'
+
+
+License
+=======
+
+For this first release of the LIBSVM Plus we choose to use the same licensing
+of the original LIBSVM library.
+
+
+Version number
+==============
+
+As long as LIBSVM Plus will be a straightforwardly augmented version of the official
+LIBSVM, it will have the same version number of the original LIBSVM code used for
+making the release.
Oops, something went wrong.

0 comments on commit bb1f5a1

Please sign in to comment.