Home | Develop | Download | Contact
example_decisiontree_simple2.cpp
1 
59 #include <iostream>
60 #include <Pds/Ra>
61 #include <Pds/Ml>
62 
63 int main(void)
64 {
66  Pds::Vector Yp;
67 
68  Pds::IterationConf Conf;
69  Conf.Show=true; Conf.SetMinError(1e-07); Conf.SetAlpha(0.1);
70 
72  // Load training data
73  unsigned int L=1000;
74  Pds::Matrix X;
75  Pds::Vector Y;
77 
78  Pds::Octave::XLabel="x_1";
79  Pds::Octave::YLabel="x_2";
80  Pds::Octave::Plot::PointsX2DY(X,Y,"testando.m","example_decisiontree_simple2_data.png");
81 
82  unsigned int StopSamples=3;
83  unsigned int StopDeep=64;
84 
85  // Creando un arbol
87  Pds::DecisionTree Arbol("k2means",Conf,X,Y,0.8,StopSamples,StopDeep);
88  std::cout<<"Pds::DecisionTree::Counter: "<<Pds::DecisionTree::Counter<<std::endl;
89 
90  Arbol.ExportFile("arbol.txt");
91 
92  // Exportando arbol en archivo en formato dot.
93  Arbol.ExportDotFile("arbol.dot");
94  Pds::Ra::System("dot -Tpng -o example_decisiontree_simple2_arbol.png arbol.dot");
95 
96  // Predict training data
97  Yp=Arbol.Predict(X);
98 
99  // Metrics of training
100  Metrics = Pds::ClassificationMetrics::Calculate(0.5,Yp,Y);
101  Metrics.Print("\n");
102 
103  Pds::Octave::Plot::PointsX2DY(X,Yp,"testando.m","example_decisiontree_simple2_training.png");
104 
106  // Load testing data
108 
109  // Predict testing data
110  Yp=Arbol.Predict(X);
111 
112  // Metrics of testing
113  Metrics = Pds::ClassificationMetrics::Calculate(Metrics.Threshold,Yp,Y);
114  Metrics.Print("\n");
115 
116  Pds::Octave::Plot::PointsX2DY(X,Yp,"testando.m","example_decisiontree_simple2_testing.png");
117 
118  return 0;
119 }
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 LoadDataBand2(unsigned int L, Pds::Matrix &X, Pds::Vector &Y)
Clasificacion de datos separados por mas de una curva.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed