Programa para el testeo de las funciones.Para compilar o código example_pca_4d.cpp:
g++ -static -o example_pca_4d example_pca_4d.cpp -lpdsmlmm -lpdsramm -lpdsspmm
Para executar o programa:
Retornando por consola:
X.Size():150 4 Y.Size():150 1
----- PCA :
Lambda:
0.02381036801267 0.078295104369176 0.24263821128315 4.2269386429569
V:
0.31564727350911 -0.58210496414643 0.65640817609903 0.36145399912114
-0.32084995099538 0.59709646236075 0.73033416928834 -0.084517445931375
-0.47949792555931 0.076113052056895 -0.17372739747385 0.85680064714881
0.75332851204295 0.54665933510638 -0.074559364852526 0.3579112444419
Tarining data:
Transformd data:
Código example_pca_4d.cpp:
#include <iostream>
#include <Pds/Ra>
#include <Pds/Ml>
int main(void)
{
Pds::Matrix X(Pds::Ra::TextFormat,"../test/iris_data_set_x.txt");
Pds::Vector Y(Pds::Ra::TextFormat,"../test/iris_data_set_y.txt");
Pds::Vector Ys;
Pds::Octave::MarkerSize=64;
Pds::Octave::Plot::ScatterX3DY(X.GetCols({0,1,2}),Y,"testando3d1.m","example_pca_3d_1.png");
Pds::Octave::Plot::ScatterX3DY(X.GetCols({0,1,3}),Y,"testando3d2.m","example_pca_3d_2.png");
Pds::Octave::Plot::ScatterX3DY(X.GetCols({0,2,3}),Y,"testando3d3.m","example_pca_3d_3.png");
Pds::Octave::Plot::ScatterX3DY(X.GetCols({1,2,3}),Y,"testando3d4.m","example_pca_3d_4.png");
std::cout<<"X.Size():"<<X.Size()<<"\tY.Size():"<<Y.Size()<<"\n\n";
Pca.
Print(
"----- PCA :\n");
Pds::Octave::Plot::ScatterX3DY(X3,Y,"testando3d.m","example_pca_3d_res3.png");
Pds::Octave::Plot::ScatterX2DY(X2,Y,"testando3d.m","example_pca_3d_res2.png");
return 0;
}
La clase tipo Pds::PCA . Esta clase genera una matriz de Nlin lineas y 1 columna. Para usar incluir P...
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.