Home | Develop | Download | Contact
example_perceptron_kernel_poly_band.cpp

Programa para el testeo de las funciones.Para compilar o código example_perceptron_kernel_poly_band.cpp:

g++ -static -o example_perceptron_kernel_poly_band example_perceptron_kernel_poly_band.cpp -lpdsnnmm

Para executar o programa:

./example_perceptron_kernel_poly_band

Retornando por consola:

-------------------------
   IterationConf data    
-------------------------
    Alpha: 0.1
   Lambda: 0.1
 MinError: 1e-05
  MaxIter: 1000
-------------------------
LastError: 1.9828e-05
 LastIter: 1000
    
Neurona:
-4.388764100926 0.46547441220239        0.024070838644976       13.586974277052 -0.48056582017806       13.411529224111
    
-----------------------------
      ClassificationMetrics data      
-----------------------------
Threshold       : 0.31
Samples         : 2000
----------------:------------
Pred.[0]/Act.[*]: 999   10
Pred.[1]/Act.[*]: 1     990
----------------:------------
Accuracy        : 99.45%
Precision       : 99.9%
Recall          : 99%
----------------:------------
FScore          : 99.45%
    
-----------------------------
      ClassificationMetrics data      
-----------------------------
Threshold       : 0.31
Samples         : 2000
----------------:------------
Pred.[0]/Act.[*]: 997   14
Pred.[1]/Act.[*]: 3     986
----------------:------------
Accuracy        : 99.15%
Precision       : 99.7%
Recall          : 98.6%
----------------:------------
FScore          : 99.15%

Código example_perceptron_kernel_poly_band.cpp:

#include <iostream>
#include <Pds/Ra>
#include <Pds/Ml>
int main(void)
{
Pds::Vector Yp;
Pds::Matrix F;
unsigned int M=4;
// Generating data
unsigned int L=1000;
Pds::Matrix X;
Pds::Vector Y;
// Create Perceptron
Conf.SetMaxIter(10000);
Pds::Perceptron Neurona(Conf,F,Y);
Neurona.Print("\nNeurona:\n");
// Evaluate training data
Yp=Neurona.Evaluate(F);
// Metrics of training
Metrics.Print("\n");
// Evaluate testing data
Yp=Neurona.Evaluate(F);
// Metrics testing
Metrics.Print("\n");
return 0;
}
La clase tipo Pds::ClassificationMetrics . Esta clase genera un bloque de datos para analizar curvas ...
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.
void LoadDataBand2(unsigned int L, Pds::Matrix &X, Pds::Vector &Y)
Clasificacion de datos separados por mas de una curva.
Pds::Matrix Polynomial(const Pds::Matrix &X, unsigned int M)
Crea una nueva matriz de "features" kernelizando de forma polinomial.
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.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed