Home | Develop | Download | Contact
example_qdc_2d.cpp

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

g++ -static -o example_qdc_2d example_qdc_2d.cpp -lpdsmlmm -lpdsramm -lpdsspmm

Para executar o programa:

./example_qdc_2d

Retornando por consola:

----- QDC :
Sinv[0]:
18.565167311085   -0.90809691030792 
-0.90809691030792 13.18762716821    
Sinv[1]:
2.4131706071484   0.064585785743084 
0.064585785743084 16.725251275197   
Sinv[2]:
17.722761570156  0.11962030025086 
0.11962030025086 16.016827871601  
Mu[0]:
0.97995628370661    -0.0014915775725381 
Mu[1]:
-0.47314909710027 0.85054042360651  
Mu[2]:
-0.51198576577415 -0.85678652136553 
C[0]:   1.6499838418987
C[1]:   0.75026659199006
C[2]:   1.7256073512435
Label[0]:       0
Label[1]:       1
Label[2]:       2

Tarining data:

Training data



Confusion matrix:

Confusion matrix



Decision boundaries:

Regions

Código example_qdc_2d.cpp:

#include <iostream>
#include <Pds/Ra>
#include <Pds/Ml>
int main(void)
{
unsigned int L=300;
unsigned int K=3;
Pds::Octave::MarkerSize=64;
Pds::Octave::YLimits=true;
Pds::Octave::XLimits=true;
Pds::Octave::DAspect=true;
Pds::Matrix X;
Pds::Vector Y,Ys;
// Load dataset of L samples an K gaussian normal.
// Plor de dataset X with label Y.
Pds::Octave::Plot::ScatterX2DY(X,Y,"testando3d.m","example_qdc_2d_data.png");
// Calculate the Qdc classifier.
Pds::QDC Qdc(X,Y);
Qdc.Print("----- QDC :\n");
// Test of training
Ys=Qdc.Predict(X);
// Confusion matrix
Pds::Octave::Plot::ConfMatrix(CM.Data,Qdc.GetLabel(),"testando.m","example_qdc_2d_ConfMatrix.png");
// Load new dataset Xt.
Pds::Matrix Xt(10*L,2);
Xt.FillRandU(-1.5,1.5);
// Predict the datset Xt.
Ys=Qdc.Predict(Xt);
// Print the result of classification.
Pds::Octave::Plot::ScatterX2DY(Xt,Ys,"testando3d.m","example_qdc_2d_class.png");
return 0;
}
La clase tipo Pds::ConfusionMatrix . Esta clase genera un bloque de datos para analizar curvas de apr...
La clase tipo Pds::QDC . Esta clase genera una matriz de Nlin lineas y 1 columna. Para usar incluir P...
Definition: QDC.hpp:63
static Pds::ConfusionMatrix Calculate(const Pds::Vector &Ypredict, const Pds::Vector &Yactual)
Crea un objeto Dat de tipo Pds::ConfusionMatrix.
void LoadKGaussian(unsigned int L, unsigned int K, Pds::Matrix &X, Pds::Vector &Y, double factor=0.70711)
Clasificación múltiple de datos.
std::vector< int > GetLabel(void) const
Retorna un std::vector de vectores que representan las etiquetas para cada ID.
double Predict(const Pds::Vector &x) const
Evalua el objeto de tipo Pds::QDC.
void Print(std::string str="") const
Imprime en pantalla el contenido del QDC.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed