From: <cli...@li...> - 2007-04-25 19:12:51
|
Send clisp-cvs mailing list submissions to cli...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/clisp-cvs or, via email, send a message with subject or body 'help' to cli...@li... You can reach the person managing the list at cli...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of clisp-cvs digest..." CLISP CVS commits for today Today's Topics: 1. clisp/src ChangeLog,1.5507,1.5508 NEWS,1.369,1.370 (Sam Steingold) 2. clisp/modules/libsvm COPYRIGHT, 1.2, 1.3 README, 1.2, 1.3 svm.cpp, 1.2, 1.3 svm.xml, 1.6, 1.7 (Sam Steingold) ---------------------------------------------------------------------- Message: 1 Date: Wed, 25 Apr 2007 03:13:48 +0000 From: Sam Steingold <sd...@us...> Subject: clisp/src ChangeLog,1.5507,1.5508 NEWS,1.369,1.370 To: cli...@li... Message-ID: <E1H...@ma...> Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv32553/src Modified Files: ChangeLog NEWS Log Message: modules/libsvm: upgraded to upstream 2.84 Index: NEWS =================================================================== RCS file: /cvsroot/clisp/clisp/src/NEWS,v retrieving revision 1.369 retrieving revision 1.370 diff -u -d -r1.369 -r1.370 --- NEWS 6 Mar 2007 22:11:02 -0000 1.369 +++ NEWS 25 Apr 2007 03:13:46 -0000 1.370 @@ -9,7 +9,7 @@ * A kind of Meta-Object Protocol for structures is now available. See <http://clisp.cons.org/impnotes/defstruct-mop.html> for details. -* Module libsvm has been upgraded to the upstream version 2.83. +* Module libsvm has been upgraded to the upstream version 2.84. See <http://clisp.cons.org/impnotes/libsvm.html> for details. * NEW-CLX module now supports Stumpwm <http://www.nongnu.org/stumpwm/>. Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.5507 retrieving revision 1.5508 diff -u -d -r1.5507 -r1.5508 --- ChangeLog 5 Apr 2007 01:56:48 -0000 1.5507 +++ ChangeLog 25 Apr 2007 03:13:45 -0000 1.5508 @@ -1,3 +1,7 @@ +2007-04-23 Sam Steingold <sd...@po...> + + * modules/libsvm: upgraded to upstream 2.84 + 2007-04-04 Vadim Konovalov <va...@vk...> Sam Steingold <sd...@gn...> ------------------------------ Message: 2 Date: Wed, 25 Apr 2007 03:13:47 +0000 From: Sam Steingold <sd...@us...> Subject: clisp/modules/libsvm COPYRIGHT, 1.2, 1.3 README, 1.2, 1.3 svm.cpp, 1.2, 1.3 svm.xml, 1.6, 1.7 To: cli...@li... Message-ID: <E1H...@ma...> Update of /cvsroot/clisp/clisp/modules/libsvm In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv32553/modules/libsvm Modified Files: COPYRIGHT README svm.cpp svm.xml Log Message: modules/libsvm: upgraded to upstream 2.84 Index: README =================================================================== RCS file: /cvsroot/clisp/clisp/modules/libsvm/README,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- README 6 Dec 2006 01:35:46 -0000 1.2 +++ README 25 Apr 2007 03:13:45 -0000 1.3 @@ -4,19 +4,19 @@ regression. It also provides an automatic model selection tool for C-SVM classification. This document explains the use of libsvm. -Libsvm is available at +Libsvm is available at http://www.csie.ntu.edu.tw/~cjlin/libsvm Please read the COPYRIGHT file before using libsvm. Table of Contents ================= - Quick Start -- Installation +- Installation and Data Format - `svm-train' Usage - `svm-predict' Usage -- Tips on practical use +- Tips on Practical Use - Examples -- Precomputed Kernels +- Precomputed Kernels - Library Usage - Java Version - Building Windows Binaries @@ -27,8 +27,8 @@ Quick Start =========== -If you are new to SVM and if the data is not large, please go to -`tools' directory and use easy.py after installation. It does +If you are new to SVM and if the data is not large, please go to +`tools' directory and use easy.py after installation. It does everything automatic -- from data scaling to parameter selection. Usage: easy.py training_file [testing_file] @@ -36,8 +36,8 @@ More information about parameter selection can be found in tools/README. -Installation -============ +Installation and Data Format +============================ On Unix systems, type `make' to build the `svm-train' and `svm-predict' programs. Run them without arguments to show the usages of them. @@ -80,8 +80,8 @@ svm-toy: This is a simple graphical interface which shows how SVM - separate data in a plane. You can click in the window to - draw data points. Use "change" button to choose class + separate data in a plane. You can click in the window to + draw data points. Use "change" button to choose class 1, 2 or 3 (i.e., up to three classes are supported), "load" button to load data from a file, "save" button to save data to a file, "run" button to obtain an SVM model, and "clear" @@ -102,7 +102,7 @@ You need GTK+ library to build the GTK version. (available from http://www.gtk.org) - + We use Visual C++ to build the Windows version. The pre-built Windows binaries are in the windows directory. @@ -174,25 +174,25 @@ factors are stored in the file range and then used for scaling the test data. -> svm-train -s 0 -c 1000 -t 2 -g 0.5 -e 0.00001 data_file +> svm-train -s 0 -c 5 -t 2 -g 0.5 -e 0.1 data_file -Train a classifier with RBF kernel exp(-0.5|u-v|^2) and stopping -tolerance 0.00001 +Train a classifier with RBF kernel exp(-0.5|u-v|^2), C=10, and +stopping tolerance 0.1. -> svm-train -s 3 -p 0.1 -t 0 -c 10 data_file +> svm-train -s 3 -p 0.1 -t 0 data_file -Solve SVM regression with linear kernel u'v and C=10, and epsilon = 0.1 +Solve SVM regression with linear kernel u'v and epsilon=0.1 in the loss function. -> svm-train -s 0 -c 10 -w1 1 -w-1 5 data_file +> svm-train -c 10 -w1 1 -w-1 5 data_file Train a classifier with penalty 10 for class 1 and penalty 50 for class -1. -> svm-train -s 0 -c 500 -g 0.1 -v 5 data_file +> svm-train -s 0 -c 100 -g 0.1 -v 5 data_file Do five-fold cross validation for the classifier using -the parameters C = 500 and gamma = 0.1 +the parameters C = 100 and gamma = 0.1 > svm-train -s 0 -b 1 data_file > svm-predict -b 1 test_file data_file.model output_file @@ -201,25 +201,25 @@ probability estimates -Precomputed Kernels +Precomputed Kernels =================== Users may precompute kernel values and input them as training and testing files. Then libsvm does not need the original training/testing sets. -Assume there are L training instances x1, ..., xL and. +Assume there are L training instances x1, ..., xL and. Let K(x, y) be the kernel value of two instances x and y. The input formats are: New training instance for xi: -<label> 0:i 1:K(xi,x1) ... L:K(xi,xL) +<label> 0:i 1:K(xi,x1) ... L:K(xi,xL) New testing instance for any x: -<label> 0:? 1:K(x,x1) ... L:K(x,xL) +<label> 0:? 1:K(x,x1) ... L:K(x,xL) That is, in the training file the first column must be the "ID" of xi. In testing, ? can be any value. @@ -246,9 +246,9 @@ training/testing sets: 15 0:1 1:4 2:6 3:1 - 45 0:2 1:6 2:18 3:0 + 45 0:2 1:6 2:18 3:0 25 0:3 1:1 2:0 3:1 - + 15 0:? 1:2 2:0 3:1 ? can be any value. @@ -256,7 +256,7 @@ Any subset of the above training file is also valid. For example, 25 0:3 1:1 2:0 3:1 - 45 0:2 1:6 2:18 3:0 + 45 0:2 1:6 2:18 3:0 implies that the kernel matrix is @@ -283,18 +283,18 @@ the given training data and parameters. struct svm_problem describes the problem: - + struct svm_problem { int l; double *y; struct svm_node **x; }; - + where `l' is the number of training data, and `y' is an array containing their target values. (integers in classification, real numbers in regression) `x' is an array of pointers, each of which points to a sparse - representation (array of svm_node) of one training vector. + representation (array of svm_node) of one training vector. For example, if we have the following training data: @@ -327,7 +327,7 @@ }; index = -1 indicates the end of one vector. - + struct svm_parameter describes the parameters of an SVM model: struct svm_parameter @@ -384,13 +384,13 @@ nr_weight is the number of elements in the array weight_label and weight. Each weight[i] corresponds to weight_label[i], meaning that the penalty of class weight_label[i] is scaled by a factor of weight[i]. - + If you do not want to change penalty for any of the classes, just set nr_weight to 0. *NOTE* Because svm_model contains pointers to svm_problem, you can not free the memory used by svm_problem if you are still using the - svm_model produced by svm_train(). + svm_model produced by svm_train(). *NOTE* To avoid wrong parameters, svm_check_parameter() should be called before svm_train(). @@ -415,7 +415,7 @@ labels in the validation process are stored in the array called target. - The format of svm_prob is same as that for svm_train(). + The format of svm_prob is same as that for svm_train(). - Function: int svm_get_svm_type(const struct svm_model *model); @@ -428,7 +428,7 @@ classes. For a regression or an one-class model, 2 is returned. - Function: void svm_get_labels(const svm_model *model, int* label) - + For a classification model, this function outputs the name of labels into an array called label. For regression and one-class models, label is unchanged. @@ -443,7 +443,7 @@ If the model is not for svr or does not contain required information, 0 is returned. -- Function: void svm_predict_values(const svm_model *model, +- Function: void svm_predict_values(const svm_model *model, const svm_node *x, double* dec_values) This function gives decision values on a test vector x given a @@ -461,9 +461,9 @@ calculated using the model. For one-class model, label[0] is +1 or -1. -- Function: double svm_predict_probability(const struct svm_model *model, +- Function: double svm_predict_probability(const struct svm_model *model, const struct svm_node *x, double* prob_estimates); - + This function does classification or regression on a test vector x given a model with probability information. @@ -567,7 +567,7 @@ Edit Makefile.win and change PYTHON_INC and PYTHON_LIB to your python installation. Type -nmake -f Makefile.win python +nmake -f Makefile.win python and then copy windows\python\svmc.dll to the python directory. @@ -589,18 +589,17 @@ If you find LIBSVM helpful, please cite it as -Chih-Chung Chang and Chih-Jen Lin, LIBSVM: a library for +Chih-Chung Chang and Chih-Jen Lin, LIBSVM: a library for support vector machines, 2001. Software available at http://www.csie.ntu.edu.tw/~cjlin/libsvm LIBSVM implementation document is available at http://www.csie.ntu.edu.tw/~cjlin/papers/libsvm.pdf -For any questions and comments, please send your email to -c...@cs... +For any questions and comments, please email cj...@cs... Acknowledgments: -This work was supported in part by the National Science +This work was supported in part by the National Science Council of Taiwan via the grant NSC 89-2213-E-002-013. The authors thank their group members and users for many helpful discussions and comments. They are listed in Index: svm.xml =================================================================== RCS file: /cvsroot/clisp/clisp/modules/libsvm/svm.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- svm.xml 6 Dec 2006 01:35:45 -0000 1.6 +++ svm.xml 25 Apr 2007 03:13:45 -0000 1.7 @@ -2,9 +2,11 @@ <section id="libsvm"><title>LibSVM Interface</title> -<para>This is an &ffi-pac;-based interface to the version 2.83 of +<para>This is an &ffi-pac;-based interface to the version 2.84 of <ulink url="http://www.csie.ntu.edu.tw/~cjlin/libsvm">LibSVM</ulink> - (included in the sources, so you do not need to install it yourself).</para> + (included in the sources in the directory + <filename role="clisp-cvs">modules/libsvm/</filename>, + so you do not need to install it yourself).</para> <para>The package <quote role="package">LIBSVM</quote> is <link linkend="package-case">case-sensitive</link>, and you do not Index: COPYRIGHT =================================================================== RCS file: /cvsroot/clisp/clisp/modules/libsvm/COPYRIGHT,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- COPYRIGHT 6 Dec 2006 01:35:46 -0000 1.2 +++ COPYRIGHT 25 Apr 2007 03:13:45 -0000 1.3 @@ -1,5 +1,5 @@ -Copyright (c) 2000-2006 Chih-Chung Chang and Chih-Jen Lin +Copyright (c) 2000-2007 Chih-Chung Chang and Chih-Jen Lin All rights reserved. Redistribution and use in source and binary forms, with or without Index: svm.cpp =================================================================== RCS file: /cvsroot/clisp/clisp/modules/libsvm/svm.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- svm.cpp 6 Dec 2006 01:35:46 -0000 1.2 +++ svm.cpp 25 Apr 2007 03:13:45 -0000 1.3 @@ -60,7 +60,7 @@ class Cache { public: - Cache(int l,int size); + Cache(int l,long int size); ~Cache(); // request data [0,len) @@ -70,7 +70,7 @@ void swap_index(int i, int j); // future_option private: [...1140 lines suppressed...] if(kernel_type != LINEAR && kernel_type != POLY && @@ -3010,7 +2976,7 @@ // check whether nu-svc is feasible - + if(svm_type == NU_SVC) { int l = prob->l; @@ -3043,7 +3009,7 @@ ++nr_class; } } - + for(i=0;i<nr_class;i++) { int n1 = count[i]; ------------------------------ ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ------------------------------ _______________________________________________ clisp-cvs mailing list cli...@li... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest, Vol 12, Issue 2 **************************************** |