Home | Develop | Download | Contact
example_linearmodel.cpp

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

g++ -static -o example_linearmodel example_linearmodel.cpp -lpdsnnmm

Para executar o programa:

./example_linearmodel

Retornando por consola:

W:
0.004499661916193       0.97991014364624
Training :: R2 : 0.92844092287471
Testing  :: R2 : 0.94829713131778

Código example_linearmodel.cpp:

#include <iostream>
#include <Pds/Ra>
#include <Pds/Ml>
int main(void)
{
Pds::Vector W;
Pds::Vector Ypr;
// Generating data
unsigned int L=2000;
Pds::Matrix X;
Pds::Vector Y;
// Split data set in {Training,Cross-validation,Test}
// Create W using training data
if(Conf.LastIter>0) Conf.Print("\n");
W.T().Print("\nW:\n");
// Testing W with training data set
std::cout<<"Training :: R2 : "<<Dat.Ytr.R2(Ypr)<<std::endl;
// Testing W with training data set
std::cout<<"Testing :: R2 : "<<Dat.Ytt.R2(Ypr)<<std::endl;
return 0;
}
La clase tipo Pds::DataSetBlock . Esta clase genera un bloque de datos para analizar curvas de aprend...
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
void Print(std::string str) const
Imprime en pantalla el contenido de la IterationConf después del texto indicado en str.
Pds::DataSetBlock Split(const Pds::Matrix &X, const Pds::Vector &Y, double Training, double CrossVal, double Test)
Divide un data set en 3 data set: {Training, CrossValidation, Test}.
void LoadDataLineOutlierRand(unsigned int L, Pds::Matrix &X, Pds::Vector &Y, double outlier_percent=5)
Regresion de datos ajustados por una linea e outliers aleatorios.
Pds::Vector Predict(const Pds::Vector &W, const Pds::Matrix &X)
Calculo del resultado del predictor.
Pds::Vector FittingNormalMeanSquare(Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y)
Calculo de pesos.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed