Home | Develop | Download | Contact
example_ensembledecisiontree2.cpp
1 
37 #include <iostream>
38 #include <Pds/Ra>
39 #include <Pds/Ml>
40 
41 int main(void)
42 {
43  Pds::Octave::XLabel="x_1";
44  Pds::Octave::YLabel="x_2";
45  Pds::Vector Yp;
46  Pds::IterationConf Conf;
47  Conf.Show=false; Conf.SetMinError(1e-07); Conf.SetAlpha(0.1);
48 
49  // Load training data
50  unsigned int L=2000;
51  Pds::Matrix X;
52  Pds::Vector Y;
54 
55  Pds::Octave::Plot::PointsX2DY(X,Y,"testando.m","example_ensembledecisiontree2_data_yinyang.png");
56 
57  unsigned int StopSamples=3;
58  unsigned int StopDeep=64;
59 
60  // Training DecisionTree
62  Pds::DecisionTree Arbol("k2means",Conf,X,Y,0.8,StopSamples,StopDeep);
63  std::cout<<"Pds::DecisionTree::Counter: "<<Pds::DecisionTree::Counter<<std::endl;
64 
65  Arbol.ExportDotFile("arbol.dot");
66 
67  // Predict training data
68  Yp=Arbol.Predict(X);
69  std::cout<<"Acc:"<<Pds::Accuracy(Y,Yp,0.5)<<"\n";
70 
71  Pds::Octave::Plot::PointsX2DY(X,Yp,"testando.m","example_ensembledecisiontree2_simple_yinyang.png");
72 
73  std::cout<<Pds::Ra::Repeat("*",128)<<"\n\n";
74 
75  // Training Ensemble Decisiontree
77  Pds::EnsembleDecisionTree Arbol2(Conf,X,Y,16,0.5,0.8,StopSamples,StopDeep);
78  std::cout<<"Pds::DecisionTree::Counter: "<<Pds::DecisionTree::Counter<<std::endl;
79  Arbol2.GetStackingClassifier().Print("Arbol2.GetStackingClassifier():\n");
80 
81  Arbol2.ExportFile("EnsembleDecisionTree.txt");
82 
83  // Predict testing data
84  Yp=Arbol2.Predict(X);
85  std::cout<<"Acc:"<<Pds::Accuracy(Y,Yp,0.5)<<"\n";
86 
87  Pds::Octave::Plot::PointsX2DY(X,Yp,"testando.m","example_ensembledecisiontree2_ensemble_yinyang.png");
88 
89  std::cout<<Pds::Ra::Repeat("*",128)<<"\n\n";
90 
91  // Ensemble DecisionTree
92  Pds::EnsembleDecisionTree Arbol3("EnsembleDecisionTree.txt");
93  Arbol3.GetStackingClassifier().Print("Arbol3.GetStackingClassifier():\n");
94 
95  // Predict testing data
96  Yp=Arbol3.Predict(X);
97  std::cout<<"Acc:"<<Pds::Accuracy(Y,Yp,0.5)<<"\n";
98 
99  Pds::Octave::Plot::PointsX2DY(X,Yp,"testando.m","example_ensembledecisiontree2_import_yinyang.png");
100 
101  return 0;
102 }
La clase tipo Pds::DecisionTree . Esta clase genera un arbol de decision para unos datos dados....
static unsigned int Counter
La clase tipo Pds::EnsembleDecisionTree . Esta clase genera una matriz de Nlin lineas y 1 columna....
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
bool SetAlpha(double Alpha)
Coloca el valor alpha.
bool SetMinError(double MinError)
Coloca el valor MinError.
void LoadDataYinYang(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