Home | Develop | Download | Contact
test_decisiontree3.cpp
1 
5 #include <iostream>
6 #include <Pds/Ra>
7 #include <Pds/Ml>
8 
9 int main(void)
10 {
11  Pds::IterationConf Conf;
12  Conf.Show=false; Conf.SetMinError(1e-07); Conf.SetAlpha(0.1);
13 
15  Pds::Vector Yp;
16 
18  // Load training data
19  Pds::Matrix X(Pds::Ra::TextFormat,"../test/dataset/bloodtransfusion_x.txt");
20  Pds::Vector Y(Pds::Ra::TextFormat,"../test/dataset/bloodtransfusion_y.txt");
21  Pds::Vector Mean(X.Ncol());
22  Pds::Vector Std(X.Ncol());
23  std::cout<<"Pr(x=1):\t"<<Y.Mean()<<"\n";
24 
26  Dat=Pds::DataSet::SplitAndScaling(X,Y, 0.7, 0.0, 0.3,Std,Mean);
27  //X.Print("X:\n");
28 
30  // Creando Arbol
32  Pds::DecisionTree Arbol("k2means",Conf,Dat.Xtr,Dat.Ytr,0.95,4);
33  std::cout<<"Pds::DecisionTree::Counter: "<<Pds::DecisionTree::Counter<<std::endl;
34 
35  //Arbol.ExportDotFile("arbol.dot");
36  //Pds::Ra::System("dot -Tpng -o arbol.dot.png arbol.dot");
37 
38  // Predict training data
39  Yp=Arbol.Predict(Dat.Xtt);
40 
41  // Metrics of training
42  Metrics = Pds::ClassificationMetrics::Calculate(0.5,Yp,Dat.Ytt);
43  Metrics.Print("\n");
44 
46  // Creando Arbol
48  Pds::DecisionTree Arbol2(Dat.Xtr,Dat.Ytr,0.95,4);
49  std::cout<<"Pds::DecisionTree::Counter: "<<Pds::DecisionTree::Counter<<std::endl;
50 
51  // Predict training data
52  Yp=Arbol2.Predict(Dat.Xtt);
53 
54  // Metrics of training
55  Metrics = Pds::ClassificationMetrics::Calculate(0.5,Yp,Dat.Ytt);
56  Metrics.Print("\n");
57 
58  return 0;
59 }
La clase tipo Pds::ClassificationMetrics . Esta clase genera un bloque de datos para analizar curvas ...
La clase tipo Pds::DataSetBlock . Esta clase genera un bloque de datos para analizar curvas de aprend...
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.
Pds::DataSetBlock SplitAndScaling(const Pds::Matrix &X, const Pds::Vector &Y, double Training, double CrossVal, double Test, Pds::Vector &Std, Pds::Vector &Mean)
Divide un data set en 3 data set: {Training, CrossValidation, Test}, selecionados aleatoriamente sin ...

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed