Home | Develop | Download | Contact
example_perceptron_evaluate.cpp
1 
79 #include <iostream>
80 #include <Pds/Ra>
81 #include <Pds/Ml>
82 
83 
84 int main(void)
85 {
86  Pds::IterationConf Conf; Conf.SetMaxIter(1000); Conf.Show=true;
88  Pds::Vector Yp;
89 
90  // Generating data
91  unsigned int L=2000;
92  Pds::Matrix X;
93  Pds::Vector Y;
95 
96  // Split data set in {Training,Cross-validation,Test}
98 
99  // Create Perceptron
100  Pds::Ra::Tic();
101  Pds::Perceptron Neurona(Conf,Dat.Xtr,Dat.Ytr);
102  Pds::Ra::Toc();
103  Pds::Vector W=Neurona.GetW();
104  Neurona.Print("\nNeurona:\n");
105 
106  // Evaluate training
107  Yp=Neurona.Evaluate(Dat.Xtr);
108  Metrics = Pds::ClassificationMetrics::Calculate(0.5,Yp,Dat.Ytr);
109  Metrics.Print("\nTraining:\n");
110 
111  Pds::Octave::XLabel="x_1";
112  Pds::Octave::YLabel="x_2";
113  Pds::Octave::Plot::PointsX2DYW(Dat.Xtr,Dat.Ytr,W,"testando.m","example_perceptron_evaluate_training.png");
114 
115  // Evaluate cross-validation
116  Yp=Neurona.Evaluate(Dat.Xcv);
117  Pds::Ra::Tic();
118  Metrics = Pds::ClassificationMetrics::Optimal(Yp,Dat.Ycv);
119  Metrics.Print("\nCross-validation:\n");
120  Pds::Ra::Toc();
121 
122  // Evaluate testing data
123  Yp=Neurona.Evaluate(Dat.Xtt);
124  Metrics = Pds::ClassificationMetrics::Calculate(Metrics.Threshold,Yp,Dat.Ytt);
125  Metrics.Print("\nTesting:\n");
126 
127  Pds::Octave::Plot::PointsX2DYW(Dat.Xtt,Dat.Ytt,W,"testando.m","example_perceptron_evaluate_testing.png");
128 
129  return 0;
130 }
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 Dat de tipo Pds::ClassificationMetrics.
static Pds::ClassificationMetrics Optimal(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 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}, selecionados aleatoriamente sin ...
void LoadDataLine(unsigned int L, Pds::Matrix &X, Pds::Vector &Y)
Clasificacion de datos separados por una linea.
std::string YLabel
Texto correspondente a ylabel.
std::string XLabel
Texto correspondente a xlabel.
bool PointsX2DYW(const Pds::Matrix &X, const Pds::Vector &Y, const Pds::Vector &W, 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