Home | Develop | Download | Contact
example_perceptron_kernel_gaussian_circle.cpp
1 
59 #include <iostream>
60 #include <Pds/Ra>
61 #include <Pds/Ml>
62 
63 
64 int main(void)
65 {
67  Pds::Vector Yp;
68  Pds::Matrix F;
69  Pds::Matrix G;
70  Pds::IterationConf Conf; Conf.SetMaxIter(10000);
71  double Sigma=0.3;
72 
73  // Generating data
74  unsigned int L=200;
75  Pds::Matrix X;
76  Pds::Vector Y;
78 
79  Pds::Octave::XLabel="x_1";
80  Pds::Octave::YLabel="x_2";
81  Pds::Octave::Plot::PointsX2DY(X,Y,"testando.m","example_perceptron_kernel_gaussian_circle_data.png");
82 
83  // Create Perceptron
84  G=X;
85  F=Pds::Kernel::Gaussian(X,G,Sigma);
86 
87  Pds::Perceptron Neurona(Conf,F,Y);
88  Neurona.Print("\nNeurona:\n");
89 
90  // Predict training data
91  Yp=Neurona.Predict(F);
92 
93  // Metrics of training
94  Metrics = Pds::ClassificationMetrics::Calculate(0.5,Yp,Y);
95  Metrics.Print("\n");
96 
97  Pds::Octave::Plot::PointsX2DY(X,Yp,"testando.m","example_perceptron_kernel_gaussian_circle_training.png");
98 
99  // Predict testing data
100  Pds::DataSet::Classification::LoadDataCircle(L,X,Y); // Load new data
101  F=Pds::Kernel::Gaussian(X,G,Sigma);
102  Yp=Neurona.Predict(F);
103 
104  // Metrics testing
105  Metrics = Pds::ClassificationMetrics::Calculate(Metrics.Threshold,Yp,Y);
106  Metrics.Print("\n");
107 
108  Pds::Octave::Plot::PointsX2DY(X,Yp,"testando.m","example_perceptron_kernel_gaussian_circle_testing.png");
109  return 0;
110 }
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:64
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 SetMaxIter(unsigned int MaxIter)
Coloca el valor MaxIter.
void LoadDataCircle(unsigned int L, Pds::Matrix &X, Pds::Vector &Y)
Clasificacion de datos separados por una curva.
Pds::Matrix Gaussian(const Pds::Matrix &X, const Pds::Matrix &G, double Sigma=1.0)
Crea una nueva matriz de "features" kernelizando de forma gaussiana.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed