Filewatcher File Search File Search
Catalog
Content Search
» » » » libsvm_2.82.0.orig.tar.gz » Content »
pkg://libsvm_2.82.0.orig.tar.gz:405633/libsvm-2.82/tools/  info  downloads

README

This directory includes some useful codes:

1. subset selection tools.
2. parameter selection tools.

Part I: Subset selection tools

Introduction
============

Training large data is time consuming. Sometimes one should work on a
smaller subset first. The python script subset.py randomly selects a
specified number of samples. For classification data, we provide a
stratified selection to ensure the same class distribution in the
subset.

Usage: subset.py [options] dataset number [output1] [output2]

This script selects a subset of the given data set.

options:
-s method : method of selection (default 0)
     0 -- stratified selection (classification only)
     1 -- random selection

output1 : the subset (optional)
output2 : the rest of data (optional)

If output1 is omitted, the subset will be printed on the screen.

Example
=======

> python subset.py heart_scale 100 file1 file2

From heart_scale 100 samples are randomly selected and stored in
file1. All remaining instances are stored in file2.


Part II: Parameter Selection Tools

Introduction
============

grid.py is a parameter selection tool for C-SVM classification using
the RBF (radial basis function) kernel. It uses cross validation (CV)
technique to estimate the accuracy of each parameter combination in
the specified range and helps you to decide the best parameters for
your problem.

grid.py directly executes libsvm binaries (so no python binding is needed)
for cross validation and then draw contour of CV accuracy using gnuplot.
You must have libsvm and gnuplot installed before using it. The package 
gnuplot is available at http://www.gnuplot.info/

Usage: grid.py [-log2c begin,end,step] [-log2g begin,end,step] [-v fold] 
       [-svmtrain pathname] [-gnuplot pathname] [-out pathname] [-png pathname]  
       [additional parameters for svm-train] dataset

The program conducts v-fold cross validation using parameter C (and gamma) 
= 2^begin, 2^(begin+step), ..., 2^end. 

You can specify where the libsvm executable and gnuplot are using the
-svmtrain and -gnuplot parameters.

For windows users, please use pgnuplot.exe. If you are using gnuplot
3.7.1, please upgrade to version 3.7.3. The version 3.7.1 has a bug.

Example
=======

> python grid.py -log2c -5,5,1 -log2g -4,0,1 -v 5 -m 300 heart_scale

Users (in particular MS Windows users) may need to specify the path of
executable files. You can either change paths in the beginning of
grid.py or specify them in the command line. For example,

> grid.py -log2c -5,5,1 -svmtrain c:\libsvm\windows\svmtrain.exe -gnuplot c:\tmp\gnuplot\bin\pgnuplot.exe -v 10 heart_scale

Output: two files
dataset.png: the contour plot of the CV accuracy (generated by gnuplot)
dataset.out: the log of accuracy at each (C,gamma)

Parallel grid search (experimental)
===================================

You can conduct a parallel grid search by dispatching jobs to a cluster of 
computers which share the same file system. First, you add machine names 
in grid.py:

telnet_workers = ["linux1", "linux5", "linux5"]

The same machine (e.g., linux5 here) can be listed more than once if
it has multiple CPUs or has more RAM. If the local machine is the
best, you can also enlarge the nr_local_worker. For example:

nr_local_worker = 2

Example:

> python grid.py heart_scale
Password: ********

login ok linux1
login ok linux5
login ok linux5
.
.
.

The password is the one used for entering your system. If -log2c, -log2g, or
-v is not specified, default values are used. 

If your system uses ssh instead of telnet, you should setup ssh first so that
the authentication works without asking a password, and list the computer names
in ssh_workers.
Results 1 - 1 of 1
Help - FTP Sites List - Software Dir.
Search over 15 billion files
© 1997-2017 FileWatcher.com