1#ifndef SI_SUBADAPTIVE_SUBADSVM_H
2#define SI_SUBADAPTIVE_SUBADSVM_H
7#include <si/sisvm/libsvm.h>
8#include <cartobase/object/attributed.h>
30 const std::string filename );
39 virtual void prepare(
const std::vector<double> &v);
41 virtual void prepare(
const double *vec,
unsigned int size);
47 const unsigned int nbfolds);
48 virtual double prop(
const std::vector<double> & );
52 & basename =
"" )
const;
53 virtual void subFiles(
const std::string & prefix,
54 std::set<std::string> & listNames )
const;
56 virtual void learnStats(
const std::vector<double> &vec,
double outp = 0 );
71 const std::string & filename );
78 { _svm_param.weight[label] = weight; };
79 void setGamma(
double gamma) { _svm_param.gamma = gamma; };
80 void setC(
double c) { _svm_param.C = c; };
82 void setNu(
double nu) { _svm_param.nu = nu; };
83 double getGamma(
void) {
return _svm_param.gamma; }
84 double getC(
void) {
return _svm_param.C; }
86 double getNu(
void) {
return _svm_param.nu; }
94 std::vector<double> _inputs;
98 struct svm_parameter _svm_param;
99 struct svm_problem _svm_prob;
100 struct svm_node *_svm_nodes;
115 _svm = svm_clone_model(sa.
_svm, sa._svm_nodes, &_svm_nodes);
116 _svmmode = sa._svmmode;
118 _svm_param = sa._svm_param;
virtual SubAdResponse * train(AdaptiveLeaf &, const SiDBLearnable &tr, const SiDBLearnable &tst)
Apprentissage.
NonIncrementalSubAdaptive(const std::string name="")
virtual NonIncrementalSubAdaptive & operator=(const NonIncrementalSubAdaptive &sa)
Specialization for sigraph : Y as only one dim.
virtual void learnStats(const std::vector< double > &vec, double outp=0)
Ajout à la base de statistiques.
bool qualityShiftedBadOutput() const
in shitfed output mode (the new default), examples classified as bad always get an output >= 0....
virtual double learn(const SiDBLearnable &train)
virtual std::string chooseFilename(const std::string &basename="") const
{\tt basename} doit être vide ou terminé par '/'
virtual SubAdResponse * crossvalidation(const SiDBLearnable &train, const unsigned int nbfolds)
virtual void buildTree(Tree &tr) const
Conversion en arbre (pour IO)
void setQualityShiftedBadOutput(bool x)
virtual void setBaseName(const std::string &basename)
SubAdSvm(const SubAdSvm &sa)
virtual std::string fileNames() const
virtual double prop(const std::vector< double > &)
Propagation (model answer).
virtual void subFiles(const std::string &prefix, std::set< std::string > &listNames) const
Donne la liste des fichiers sous le modèle.
virtual double getLearnedLabel(const SiVectorLearnable &vl) const
float qualitySlope() const
virtual struct svm_problem * prepare(const SiDBLearnable &vl)
void setQualitySlope(float x)
std::string _netFileName
Nom du fichier réseau.
virtual void prepare(const double *vec, unsigned int size)
void setEpsilon(double p)
virtual double test(const SiVectorLearnable &vl)
Test: met à jour le taux d'erreur de généralisation Renvoie la valeur prédite par le classifieur.
virtual std::string getSvmMode(void) const
void setSvmWeight(int label, double weight)
Set / Get svm parameters.
virtual void setFileNames(const std::string &name)
Noms des fichiers de sauvegardes (des réseaux de neurones par ex.)
virtual SubAdSvm & operator=(const SubAdSvm &sa)
void setSvmMode(SvmMode m)
static void buildSubSvm(carto::AttributedObject *parent, Tree *t, const std::string &filename)
void setGamma(double gamma)
struct svm_parameter & getSvmParameter()
virtual void prepare(const std::vector< double > &v)
Prépare le réseau avec les stats sur le vecteur etc.
virtual void prepare(const SiVectorLearnable &vl)
virtual SubAdaptive * clone() const
copie
SubAdSvm(const std::string name, const std::string file, const std::string filename)
Sous-élément adaptatif (classe abstraite).
SyntaxedObject< PropertySet > AttributedObject
#define DECLARE_GENERIC_OBJECT_TYPE(T)