Home | Develop | Download | Contact
example_nbgmm_2d.cpp
1 
135 #include <iostream>
136 #include <Pds/Ra>
137 #include <Pds/Ml>
138 
139 int main(void)
140 {
141  unsigned int L=48;
142  unsigned int K=3;
143  Pds::IterationConf Conf;
144  Pds::Octave::MarkerSize=64;
145  Pds::Octave::YLimits=true;
146  Pds::Octave::XLimits=true;
147  Pds::Octave::DAspect=true;
148 
149  Pds::Matrix X;
150  Pds::Vector Y,Ys;
152 
153  // Load dataset of L samples an K gaussian normal.
155 
156  // Plor de dataset X with label Y.
157  Pds::Octave::Plot::ScatterX2DY(X,Y,"testando3d.m","example_nbgmm_2d_data.png");
158 
159  // Calculate the NbGmm classifier.
160  Pds::NBGMM NbGmm(Conf,X,Y,{2,2,2});
161  NbGmm.Print("\n----- NBGMM :\n");
162 
163  // Test of training
164  Ys=NbGmm.Predict(X);
165 
166  // Confusion matrix
168  Pds::Octave::Plot::ConfMatrix(CM.Data,NbGmm.GetLabel(),"testando.m","example_nbgmm_2d_ConfMatrix.png");
169 
170  // Load new dataset Xt.
171  Pds::Matrix Min=X.MinInCols();
172  Pds::Matrix Max=X.MaxInCols();
173  Pds::Matrix X1=Pds::Matrix(100*L,1); X1.FillRandU(Min.Get(0),Max.Get(0));
174  Pds::Matrix X2=Pds::Matrix(100*L,1); X2.FillRandU(Min.Get(1),Max.Get(1));
175  X=Pds::MergeHor({X1,X2});
176 
177  // Predict the datset Xt.
178  Ys=NbGmm.Predict(X);
179 
180  // Print the result of classification.
181  Pds::Octave::Plot::ScatterX2DY(X,Ys,"testando3d.m","example_nbgmm_2d_class.png");
182 
183  NbGmm.ExportFile("salida.txt");
184  Pds::NBGMM NbGmm2("salida.txt");
185  NbGmm.Print("\n----- NBGMM2 :\n");
186 
187  return 0;
188 }
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 LoadKGaussian(unsigned int L, unsigned int K, Pds::Matrix &X, Pds::Vector &Y, double factor=0.70711)
Clasificación múltiple de datos.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed