Programa para el testeo de las funciones.Para compilar o código example_perceptron_evaluate.cpp:
g++ -static -o example_perceptron_evaluate example_perceptron_evaluate.cpp -lpdsnnmm
Para executar o programa:
./example_perceptron_evaluate
Retornando por consola:
GradientCE:
Error: RMS(△ W)/Std(W)
-------------------------
IterationConf data
-------------------------
Alpha: 0.1
Lambda: 0.001
MinError: 1e-05
MaxIter: 10000
-------------------------
LastError: 4.1538e-05
LastIter: 10000
-------------------------
Neurona:
0.064281158965802 10.819510055137 10.96149408058
-----------------------------
ClassificationMetrics data
-----------------------------
Threshold : 0.52
Samples : 200
----------------:------------
Pred.[0]/Act.[*]: 100 0
Pred.[1]/Act.[*]: 0 100
----------------:------------
Accuracy : 100%
Precision : 100%
Recall : 100%
----------------:------------
FScore : 100%
-----------------------------
-----------------------------
ClassificationMetrics data
-----------------------------
Threshold : 0.52
Samples : 200
----------------:------------
Pred.[0]/Act.[*]: 100 1
Pred.[1]/Act.[*]: 0 99
----------------:------------
Accuracy : 99.5%
Precision : 100%
Recall : 99%
----------------:------------
FScore : 99.5%
-----------------------------
Código example_perceptron_evaluate.cpp:
#include <iostream>
#include <Pds/Ra>
#include <Pds/Ml>
int main(void)
{
Pds::Vector Yp;
unsigned int L=100000;
Pds::Matrix X;
Pds::Vector Y;
Pds::Ra::Tic();
Pds::Ra::Toc();
Neurona.
Print(
"\nNeurona:\n");
Metrics.
Print(
"\nTraining:\n");
Pds::Ra::Tic();
Metrics.
Print(
"\nCross-validation:\n");
Pds::Ra::Toc();
Metrics.
Print(
"\nTesting:\n");
return 0;
}
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....
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.
void Print(std::string str="") const
Imprime en pantalla el contenido del vector de pesos después del texto indicado en str.
double Evaluate(const std::initializer_list< double > list) const
Evalua el objeto de tipo Pds::Perceptron.