Home | Develop | Download | Contact
example_decisiontree_simple.cpp
1 
86 #include <iostream>
87 #include <Pds/Ra>
88 #include <Pds/Ml>
89 
90 int main(void)
91 {
93  Pds::Vector Yp;
94 
95  Pds::IterationConf Conf;
96  Conf.Show=true; Conf.SetMinError(1e-07); Conf.SetAlpha(0.1);
97 
99  // Load training data
100  unsigned int L=1000;
101  Pds::Matrix X;
102  Pds::Vector Y;
104 
105  Pds::Octave::XLabel="x_1";
106  Pds::Octave::YLabel="x_2";
107  Pds::Octave::Plot::PointsX2DY(X,Y,"testando.m","example_decisiontree_simple_data.png");
108 
109  // Creando un arbol
111  Pds::DecisionTree Arbol(Conf,X,Y,0.8,4);
112  std::cout<<"Pds::DecisionTree::Counter: "<<Pds::DecisionTree::Counter<<std::endl;
113 
114  // Exportando arbol en archivo en formato dot.
115  Arbol.ExportDotFile("arbol.dot");
116  system("dot -Tpng -o example_decisiontree_simple_arbol.png arbol.dot");
117 
118  // Evaluate training data
119  Yp=Arbol.Evaluate(X);
120 
121  // Metrics of training
122  Metrics = Pds::ClassificationMetrics::Calculate(0.5,Yp,Y);
123  Metrics.Print("\n");
124 
125  Pds::Octave::Plot::PointsX2DY(X,Yp,"testando.m","example_decisiontree_simple_training.png");
126 
128  // Load testing data
129  Pds::DataSet::Classification::LoadDataBand(L,X,Y); // Load new data
130 
131  // Evaluate testing data
132  Yp=Arbol.Evaluate(X);
133 
134  // Metrics of testing
135  Metrics = Pds::ClassificationMetrics::Calculate(Metrics.Threshold,Yp,Y);
136  Metrics.Print("\n");
137 
138  Pds::Octave::Plot::PointsX2DY(X,Yp,"testando.m","example_decisiontree_simple_testing.png");
139 
140  return 0;
141 }
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 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