Home | Develop | Download | Contact
example_pca.cpp

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

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

Para executar o programa:

./test_pca

Retornando por consola:

X.Size():4817   3       Y.Size():4817   1

Cov:
722.59415501536  14.961544421002  11.686206559208  
14.961544421002  0.75443715373377 0.62073051164566 
11.686206559208  0.62073051164566 0.58423274700635 
----- PCA :
Lambda:
0.040376009288378 0.79896638098228  723.09348252583   
V:
0.002354418240855  -0.026186985073638 0.99965428947634   
-0.68370404747296  0.7294648756777    0.020719383399118  
0.72975559756938   0.68351681542247   0.016186682276604  
Data 3D


Reduced data 2D

Código test_pca.cpp:

#include <iostream>
#include <Pds/Ra>
#include <Pds/Ml>
int main(void)
{
Pds::Matrix X(Pds::Ra::TextFormat,"../test/pca-data-x.txt");
Pds::Matrix Y(Pds::Ra::TextFormat,"../test/pca-data-y.txt");
Pds::Octave::Plot::ScatterX3DY(X,Y,"testando3d.m","test_pca_3d.png");
std::cout<<"X.Size():"<<X.Size()<<"\tY.Size():"<<Y.Size()<<"\n\n";
Pds::PCA Pca(X);
Pca.Print("----- PCA :\n");
Pds::Matrix X1=Pca.Transform(X,2);
Pds::Octave::Plot::ScatterX2DY(X1,Y,"testando2d.m","test_pca_2d.png");
return 0;
}
La clase tipo Pds::PCA . Esta clase genera una matriz de Nlin lineas y 1 columna. Para usar incluir P...
Definition: PCA.hpp:63
void Print(std::string str="") const
Imprime en pantalla el contenido del PCA.
Pds::Vector Transform(const Pds::Vector &x, unsigned int N) const
Evalua el objeto de tipo Pds::PCA.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed