Home | Develop | Download | Contact
example_decisiontree_simple.cpp

Programa para el testeo de las funciones.Para compilar o código example_decisiontree_simple.cpp:

g++ -static -o example_decisiontree_simple example_decisiontree_simple.cpp -lpdsmlmm

Para executar o programa:

./example_decisiontree_simple

Retornando por consola:

-------------------------
   IterationConf data    
-------------------------
    Alpha: 0.1
 MinError: 1e-07
  MaxIter: 1000
-------------------------
iter:    353 Alpha: 2.42569e-07 last_error: 9.63561e-08 
-------------------------
    Alpha: 2.42569e-07
LastError: 9.63561e-08
 LastIter: 353
-------------------------
-------------------------
   IterationConf data    
-------------------------
    Alpha: 0.1
 MinError: 1e-07
  MaxIter: 1000
-------------------------
iter:   1000 Alpha:  0.218287 last_error: 0.0393729  
-------------------------
    Alpha: 0.218287
LastError: 0.0393729
 LastIter: 1000
-------------------------
Pds::DecisionTree::Counter: 3

-----------------------------
 ClassificationMetrics data  
-----------------------------
Threshold       : 0.5
Samples         : 2000
----------------:------------
Pred.[0]/Act.[*]: 999   0
Pred.[1]/Act.[*]: 1     1000
----------------:------------
Accuracy        : 99.95%
Precision       : 99.9%
Recall          : 100%
----------------:------------
FScore          : 99.95%
-----------------------------

-----------------------------
 ClassificationMetrics data  
-----------------------------
Threshold       : 0.5
Samples         : 2000
----------------:------------
Pred.[0]/Act.[*]: 1000  0
Pred.[1]/Act.[*]: 0     1000
----------------:------------
Accuracy        : 100%
Precision       : 100%
Recall          : 100%
----------------:------------
FScore          : 100%
-----------------------------
Clasification - data


Clasification - training


Clasification - testing


Clasification - arbol

Código example_decisiontree_simple.cpp:

#include <iostream>
#include <Pds/Ra>
#include <Pds/Ml>
int main(void)
{
Pds::Vector Yp;
Conf.Show=true; Conf.SetMinError(1e-07); Conf.SetAlpha(0.1);
// Load training data
unsigned int L=1000;
Pds::Matrix X;
Pds::Vector Y;
Pds::Octave::Plot::PointsX2DY(X,Y,"testando.m","example_decisiontree_simple_data.png");
// Creando un arbol
Pds::DecisionTree Arbol(Conf,X,Y,0.8,4);
std::cout<<"Pds::DecisionTree::Counter: "<<Pds::DecisionTree::Counter<<std::endl;
// Exportando arbol en archivo en formato dot.
Arbol.ExportDotFile("arbol.dot");
system("dot -Tpng -o example_decisiontree_simple_arbol.png arbol.dot");
// Evaluate training data
Yp=Arbol.Evaluate(X);
// Metrics of training
Metrics.Print("\n");
Pds::Octave::Plot::PointsX2DY(X,Yp,"testando.m","example_decisiontree_simple_training.png");
// Load testing data
// Evaluate testing data
Yp=Arbol.Evaluate(X);
// Metrics of testing
Metrics.Print("\n");
Pds::Octave::Plot::PointsX2DY(X,Yp,"testando.m","example_decisiontree_simple_testing.png");
return 0;
}
La clase tipo Pds::ClassificationMetrics . Esta clase genera un bloque de datos para analizar curvas ...
La clase tipo Pds::DecisionTree . Esta clase genera un arbol de decision para unos datos dados....
static unsigned int Counter
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
static Pds::ClassificationMetrics Calculate(double Threshold, const Pds::Vector &Ypredict, const Pds::Vector &Yactual)
Crea un objeto Dat de tipo Pds::ClassificationMetrics.
void Print(std::string str="")
Imprime en pantalla los datos de la estructura tipo Pds::ClassificationMetrics.
bool ExportDotFile(const std::string &filename) const
Salva en formato .dot el objeto de tipo Pds::DecisionTree.
double Evaluate(const Pds::Vector &x) const
Evalua el objeto de tipo Pds::DecisionTree.
bool SetAlpha(double Alpha)
Coloca el valor alpha.
bool SetMinError(double MinError)
Coloca el valor MinError.
void LoadDataBand(unsigned int L, Pds::Matrix &X, Pds::Vector &Y)
Clasificacion de datos separados por mas de una curva.
std::string YLabel
Texto correspondente a ylabel.
std::string XLabel
Texto correspondente a xlabel.
bool PointsX2DY(const Pds::Matrix &X, const Pds::Vector &Y, const std::string &octfilename, const std::string &imgfilename)
Plot de muestras en 2D en las columnas X, clasificadas de forma binaria con Y>=0.5,...

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed