Programa para el testeo de las funciones.Para compilar o código example_lda.cpp:
g++ -static -o example_lda example_lda.cpp -lpdsmlmm -lpdsramm -lpdsspmm
Para executar o programa:
Retornando por consola:
X.Size():150 4 Y.Size():150 1
----- LDA :
Lambda:
-1.4920972739338e-05 1.4920972744225e-05 0.28573962441946 32.210550160202
V:
0.64157811627708 0.65125791964514 0.0071495010509499 -0.20815354298129
-0.443574988059 -0.44279171248602 0.58473578183953 -0.38698341325036
-0.47467685781627 -0.47286445253644 -0.25316456596205 0.55319961080105
0.40779974415941 0.39521871284214 0.77067545219274 0.70773309306758
W[0]:
-5.052158957466 1.7544044652246 0.62809688508705 -2.3016669268369 1.3567157646717
W[1]:
-4.1384423888949 1.2588694557982 -0.43926772294069 -0.92483797185729 2.8383050252588
W[2]:
-6.2135935694602 1.0540599746316 -0.62783912646645 -0.45928252185134 3.8020461856569
Label[0]: 0
Label[1]: 1
Label[2]: 2
Confusion matrix:
Data:[Predict/Actual]
50 0 0
0 48 1
0 2 49
Id:
0 1 2
Classification - ConfMatrix
Código example_lda.cpp:
#include <iostream>
#include <Pds/Ra>
#include <Pds/Ml>
int main(void)
{
Pds::Octave::FontSize=15;
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;
std::cout<<"X.Size():"<<X.Size()<<"\tY.Size():"<<Y.Size()<<"\n";
Lda.
Print(
"\n----- LDA :\n");
CM.
Print(
"\nConfusion matrix:\n");
Pds::Octave::Plot::ConfMatrix(CM.
Data,Lda.
GetLabel(),
"testando.m",
"example_lda_ConfMatrix.png");
return 0;
}
La clase tipo Pds::ConfusionMatrix . Esta clase genera un bloque de datos para analizar curvas de apr...
La clase tipo Pds::LDA . Esta clase genera una matriz de Nlin lineas y 1 columna. Para usar incluir P...
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="")
Imprime en pantalla los datos de la estructura tipo Pds::ConfusionMatrix.
double Predict(const Pds::Vector &x) const
Evalua el objeto de tipo Pds::LDA.
std::vector< int > GetLabel(void) const
Retorna un std::vector de vectores que representan las etiquetas para cada ID.
void Print(std::string str="") const
Imprime en pantalla el contenido del LDA.