Home | Develop | Download | Contact
example_nbgmm.cpp

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

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

Para executar o programa:

./example_nbgmm

Retornando por consola:

----- NBGMM :
Dat[0]:
Sinv[0]:
9.2989917644823   -0.90875352636301 
-0.90875352636301 214.43887910944   
Sinv[1]:
114.21801167364  -82.104512405031 
-82.104512405031 72.758577599374  
Sinv[2]:
102.80856389331  -6.2026130000538 
-6.2026130000538 104.91662137218  
Sinv[3]:
128.05439676861 41.545462775348 
41.545462775348 43.770821780752 
Sinv[4]:
46.762649189366  -53.358815082689 
-53.358815082689 101.42144410505  
Sinv[5]:
18.24011525523  13.000889690634 
13.000889690634 86.835277621157 
Sinv[6]:
15.396415414203  -9.7440705185317 
-9.7440705185317 111.60579277466  
Sinv[7]:
408.6930164237  244.49798131742 
244.49798131742 181.94549093644 
Mu[0]:
0.0037852422708186 0.54612231858829   
Mu[1]:
-0.17644759277659  -0.041386895188621 
Mu[2]:
0.51112605088437    0.00014507676676672 
Mu[3]:
-0.78632032079206  -0.055296722854545 
Mu[4]:
-0.48634168756248 0.6753515306923   
Mu[5]:
0.1602624033804  0.77722928743998 
Mu[6]:
-0.38913322484521 0.31805087890807  
Mu[7]:
0.81830065044245 0.37538261631938 
Det[0]: 0.00050169584789479
Det[1]: 0.00063727182064183
Det[2]: 9.3041822947746e-05
Det[3]: 0.00025779702580315
Det[4]: 0.00052754517410181
Det[5]: 0.00070678254147867
Det[6]: 0.00061599786953515
Det[7]: 6.8584336626994e-05
Pi[0]: 0.12058524121624
Pi[1]: 0.1610922463719
Pi[2]: 0.076996286389989
Pi[3]: 0.11598466487357
Pi[4]: 0.14179814057305
Pi[5]: 0.1443388098147
Pi[6]: 0.17198460683993
Pi[7]: 0.067220003920617
Dat[1]:
Sinv[0]:
40.354573368375  -22.083317359528 
-22.083317359528 38.807383407561  
Sinv[1]:
266.36481980354 100.6812075584  
100.6812075584  72.103049101559 
Sinv[2]:
102.07091416255 -9.647528755446 
-9.647528755446 91.549046436909 
Sinv[3]:
32.223638409182  -6.6804424041738 
-6.6804424041738 50.013681740826  
Sinv[4]:
27.998355486121  -32.558296286066 
-32.558296286066 337.94342329681  
Sinv[5]:
70.664490281861 -10.96013696101 
-10.96013696101 19.214977904048 
Sinv[6]:
339.84299910586 210.1383164064  
210.1383164064  157.09336561262 
Sinv[7]:
64.493946346906  -28.484592503267 
-28.484592503267 165.81138107383  
Mu[0]:
0.55432327242295  -0.49809248413574 
Mu[1]:
0.82201080670946  0.015314146719755 
Mu[2]:
-0.48504672645718 0.018857565328145 
Mu[3]:
-0.28282026553563 -0.63073086902734 
Mu[4]:
0.12891534046004 -0.8853517176035 
Mu[5]:
0.13703624455632  -0.24767692730505 
Mu[6]:
-0.74530675873801 -0.49119526239285 
Mu[7]:
0.43658821028149 0.31100407451587 
Det[0]: 0.00092731475548689
Det[1]: 0.00011026561731964
Det[2]: 0.0001080915140223
Det[3]: 0.00063816433908138
Det[4]: 0.00011902186721275
Det[5]: 0.00080795544136451
Det[6]: 0.00010835447118227
Det[7]: 0.00010118939733184
Pi[0]: 0.22921570015088
Pi[1]: 0.094042087929722
Pi[2]: 0.060958588664372
Pi[3]: 0.16229140320565
Pi[4]: 0.082272124877987
Pi[5]: 0.22314894118902
Pi[6]: 0.06469415803793
Pi[7]: 0.08337699594443
Pi[0]:  0.5
Pi[1]:  0.5
Label[0]:       0
Label[1]:       1

----- NBGMM2 :
Dat[0]:
Sinv[0]:
9.2989917644823   -0.90875352636301 
-0.90875352636301 214.43887910944   
Sinv[1]:
114.21801167364  -82.104512405031 
-82.104512405031 72.758577599374  
Sinv[2]:
102.80856389331  -6.2026130000538 
-6.2026130000538 104.91662137218  
Sinv[3]:
128.05439676861 41.545462775348 
41.545462775348 43.770821780752 
Sinv[4]:
46.762649189366  -53.358815082689 
-53.358815082689 101.42144410505  
Sinv[5]:
18.24011525523  13.000889690634 
13.000889690634 86.835277621157 
Sinv[6]:
15.396415414203  -9.7440705185317 
-9.7440705185317 111.60579277466  
Sinv[7]:
408.6930164237  244.49798131742 
244.49798131742 181.94549093644 
Mu[0]:
0.0037852422708186 0.54612231858829   
Mu[1]:
-0.17644759277659  -0.041386895188621 
Mu[2]:
0.51112605088437    0.00014507676676672 
Mu[3]:
-0.78632032079206  -0.055296722854545 
Mu[4]:
-0.48634168756248 0.6753515306923   
Mu[5]:
0.1602624033804  0.77722928743998 
Mu[6]:
-0.38913322484521 0.31805087890807  
Mu[7]:
0.81830065044245 0.37538261631938 
Det[0]: 0.00050169584789479
Det[1]: 0.00063727182064183
Det[2]: 9.3041822947746e-05
Det[3]: 0.00025779702580315
Det[4]: 0.00052754517410181
Det[5]: 0.00070678254147867
Det[6]: 0.00061599786953515
Det[7]: 6.8584336626994e-05
Pi[0]: 0.12058524121624
Pi[1]: 0.1610922463719
Pi[2]: 0.076996286389989
Pi[3]: 0.11598466487357
Pi[4]: 0.14179814057305
Pi[5]: 0.1443388098147
Pi[6]: 0.17198460683993
Pi[7]: 0.067220003920617
Dat[1]:
Sinv[0]:
40.354573368375  -22.083317359528 
-22.083317359528 38.807383407561  
Sinv[1]:
266.36481980354 100.6812075584  
100.6812075584  72.103049101559 
Sinv[2]:
102.07091416255 -9.647528755446 
-9.647528755446 91.549046436909 
Sinv[3]:
32.223638409182  -6.6804424041738 
-6.6804424041738 50.013681740826  
Sinv[4]:
27.998355486121  -32.558296286066 
-32.558296286066 337.94342329681  
Sinv[5]:
70.664490281861 -10.96013696101 
-10.96013696101 19.214977904048 
Sinv[6]:
339.84299910586 210.1383164064  
210.1383164064  157.09336561262 
Sinv[7]:
64.493946346906  -28.484592503267 
-28.484592503267 165.81138107383  
Mu[0]:
0.55432327242295  -0.49809248413574 
Mu[1]:
0.82201080670946  0.015314146719755 
Mu[2]:
-0.48504672645718 0.018857565328145 
Mu[3]:
-0.28282026553563 -0.63073086902734 
Mu[4]:
0.12891534046004 -0.8853517176035 
Mu[5]:
0.13703624455632  -0.24767692730505 
Mu[6]:
-0.74530675873801 -0.49119526239285 
Mu[7]:
0.43658821028149 0.31100407451587 
Det[0]: 0.00092731475548689
Det[1]: 0.00011026561731964
Det[2]: 0.0001080915140223
Det[3]: 0.00063816433908138
Det[4]: 0.00011902186721275
Det[5]: 0.00080795544136451
Det[6]: 0.00010835447118227
Det[7]: 0.00010118939733184
Pi[0]: 0.22921570015088
Pi[1]: 0.094042087929722
Pi[2]: 0.060958588664372
Pi[3]: 0.16229140320565
Pi[4]: 0.082272124877987
Pi[5]: 0.22314894118902
Pi[6]: 0.06469415803793
Pi[7]: 0.08337699594443
Pi[0]:  0.5
Pi[1]:  0.5
Label[0]:       0
Label[1]:       1

Tarining data:

example_nbgmm_data.png



Confusion matrix:

example_nbgmm_ConfMatrix.png



Decision boundaries:

example_nbgmm_class.png

Código example_nbgmm.cpp:

#include <iostream>
#include <Pds/Ra>
#include <Pds/Ml>
int main(void)
{
unsigned int L=1000;
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.
Pds::Octave::Plot::ScatterX2DY(X,Y,"testando3d.m","example_nbgmm_data.png");
// Calculate the NbGmm classifier.
Pds::NBGMM NbGmm(Conf,X,Y,{8,8});
NbGmm.Print("\n----- NBGMM :\n");
// Load new dataset Xt.
// Predict the datset Xt.
Ys=NbGmm.Predict(X);
// Confusion matrix
Pds::Octave::Plot::ConfMatrix(CM.Data,NbGmm.GetLabel(),"testando.m","example_nbgmm_ConfMatrix.png");
// Print the result of classification.
Pds::Octave::Plot::ScatterX2DY(X,Ys,"testando3d.m","example_nbgmm_class.png");
NbGmm.ExportFile("salida.txt");
Pds::NBGMM NbGmm2("salida.txt");
NbGmm.Print("\n----- NBGMM2 :\n");
return 0;
}
La clase tipo Pds::ConfusionMatrix . Esta clase genera un bloque de datos para analizar curvas de apr...
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
La clase tipo Pds::NBGMM . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: NBGMM.hpp:65
static Pds::ConfusionMatrix Calculate(const Pds::Vector &Ypredict, const Pds::Vector &Yactual)
Crea un objeto Dat de tipo Pds::ConfusionMatrix.
void Print(std::string str="") const
Imprime en pantalla el contenido del NBGMM.
void LoadDataYinYang(unsigned int L, Pds::Matrix &X, Pds::Vector &Y)
Clasificacion de datos separados por mas de una curva.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed