Home | Develop | Download | Contact
example_lda_2d.cpp
1 
45 #include <iostream>
46 #include <Pds/Ra>
47 #include <Pds/Ml>
48 
49 int main(void)
50 {
51  unsigned int L=300;
52  unsigned int K=3;
53  Pds::Octave::MarkerSize=64;
54  Pds::Octave::YLimits=true;
55  Pds::Octave::XLimits=true;
56  Pds::Octave::DAspect=true;
57 
58  Pds::Matrix X;
59  Pds::Vector Y,Ys;
60 
61  // Load dataset of L samples an K gaussian normal.
63 
64  // Plor de dataset X with label Y.
65  Pds::Octave::Plot::ScatterX2DY(X,Y,"testando3d.m","example_lda_2d_data.png");
66 
67  // Calculate the Lda classifier.
68  Pds::LDA Lda(X,Y);
69  Lda.Print("----- LDA :\n");
70 
71  // Plot the discriminant functions in the Lda object.
72  std::vector<Pds::Vector> W=Lda.GetW();
73  for(unsigned int n=0;n<W.size();n++)
74  {
75  Pds::Octave::Plot::ScatterX2DYW(X,Y,W[n],"testando3d.m","example_lda_2d_w"+std::to_string(n)+".png");
76  }
77 
78  // Load new dataset Xt.
79  Pds::Matrix Xt(10*L,2);
80  Xt.FillRandU(-1.5,1.5);
81 
82  // Predict the datset Xt.
83  Ys=Lda.Predict(Xt);
84 
85  // Print the result of classification.
86  Pds::Octave::Plot::ScatterX2DY(Xt,Ys,"testando3d.m","example_lda_2d_class.png");
87 
91 
92  return 0;
93 }
La clase tipo Pds::LDA . Esta clase genera una matriz de Nlin lineas y 1 columna. Para usar incluir P...
Definition: LDA.hpp:63
void LoadKNormal(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