Last update: $Date: 2000/12/08 18:39:42 $
class Param
{
public:
int set (int, char **);
int set (const char *);
};
Param::set (int argc, char **argv)
Param::set (const char *s)
class BaseExample
{
public:
int l;
double *y;
feature_node **x;
int add (const double, feature_node *);
int add (const double, const char *);
int add (const char *);
int clear ();
int size ();
virtual int read (const char *, const char *mode = "r", int offset = 0) = 0;
virtual int write (const char *, const char *mode = "w", int offset = 0) = 0;
};
BaseExample is a base class for Example and Model. You need not use this class directory.
BaseExample::add (const double y, feature_node *x)
BaseExample::add (const double y, char *x)
BaseExample::add (char *s)
BaseExample::clear ()
BaseExample::size ()
BaseExample::read (const char *file_name, const char *mode ="r", int offset = 0)
BaseExample::write (const char *file_name, const char *mode ="w", int offset = 0)
class Example: public BaseExample
{
public:
Model *learn (const Param &);
Model *learn (const char *);
};
Example class is inherited from BaseExample class. You can use all member functions defined in BaseExample class.
Example::learn (const Param &p)
Example::learn (const char *s)
class Model: public BaseExample
{
public:
double b;
int bsv;
int *svindex;
Model ();
Model (const Param &);
int writeSVindex (const char *, const char *mode = "r", int offset = 0);
double classify (const char *);
double classify (const feature_node *);
double estimateMargin ();
double estimateVC ();
int getSVnum ();
const int *getSVindex ();
};
Model class is inherited from BaseExample class. You can use all member functions defined in BaseExample class.
Model::Model* (const Param &p)
Model::classify (const char *s)
Model::classify (const feature_node *f)
Model::writeSVindex (const char *file_name const char *mode = "w", int offset = 0)
Model::estimateMargin ()
Model::estimateVC ()
Model::getSVnum ()
Model::getSVindex ()
#include <tinysvm.h>
Example e;
Param p;
if (! e.read(file-name)) throw;
if (! p.set("-t 1 -d 2 -c 1")) throw;
Model *m = e.learn(p);
m->write(model-file);
delete m;
#include <tinysvm.h>
Model m;
if (! m.read(model-file)) throw;
cout << m.classify("1:1 2:1 3:1 4:1") << endl;
c++ -I/usr/local/include -L/usr/local/lib sample.cc -o sample -ltinysvm
$Id: libtinysvm.html,v 1.4 2000/12/08 18:39:42 taku-ku Exp $;
taku-ku@is.aist-nara.ac.jp