Home | Develop | Download | Contact
example_perceptron_evaluate.cpp
1 
69 #include <iostream>
70 #include <Pds/Ra>
71 #include <Pds/Ml>
72 
73 
74 int main(void)
75 {
76  Pds::IterationConf Conf; Conf.SetMaxIter(1000); Conf.Show=true;
78  Pds::Vector Yp;
79 
80  // Generating data
81  unsigned int L=100000;
82  Pds::Matrix X;
83  Pds::Vector Y;
85 
86  // Split data set in {Training,Cross-validation,Test}
88 
89  // Create Perceptron
90  Pds::Ra::Tic();
91  Pds::Perceptron Neurona(Conf,Dat.Xtr,Dat.Ytr);
92  Pds::Ra::Toc();
93  Neurona.Print("\nNeurona:\n");
94 
95  // Evaluate training
96  Yp=Neurona.Evaluate(Dat.Xtr);
97  Metrics = Pds::ClassificationMetrics::Calculate(0.5,Yp,Dat.Ytr);
98  Metrics.Print("\nTraining:\n");
99 
100  // Evaluate cross-validation
101  Yp=Neurona.Evaluate(Dat.Xcv);
102  Pds::Ra::Tic();
103  Metrics = Pds::ClassificationMetrics::Optimal(Yp,Dat.Ycv);
104  Metrics.Print("\nCross-validation:\n");
105  Pds::Ra::Toc();
106 
107  // Evaluate testing data
108  Yp=Neurona.Evaluate(Dat.Xtt);
109  Metrics = Pds::ClassificationMetrics::Calculate(Metrics.Threshold,Yp,Dat.Ytt);
110  Metrics.Print("\nTesting:\n");
111 
112  return 0;
113 }
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::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
La clase tipo Pds::Perceptron . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: Perceptron.hpp:63
static Pds::ClassificationMetrics Calculate(double Threshold, const Pds::Vector &Ypredict, const Pds::Vector &Yactual)
Crea un objeto de tipo Pds::ClassificationMetrics.
static Pds::ClassificationMetrics Optimal(const Pds::Vector &Ypredict, const Pds::Vector &Yactual)
Crea un objeto de tipo Pds::ClassificationMetrics.
void Print(std::string str="")
Imprime en pantalla los datos de la estructura tipo Pds::ClassificationMetrics.
bool SetMaxIter(unsigned int MaxIter)
Coloca el valor MaxIter.
Pds::DataSetBlock Split(const Pds::Matrix &X, const Pds::Vector &Y, double Training, double CrossVal, double Test)
Divide un data set en 3 data set: {Training, CrossValidation, Test}.
void LoadDataLine(unsigned int L, Pds::Matrix &X, Pds::Vector &Y)
Clasificacion de datos separados por una linea.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed