Home | Develop | Download | Contact
example_logisticregression_ig2.cpp
1 
42 #include <iostream>
43 #include <Pds/Ra>
44 #include <Pds/Ml>
45 
46 int main(void)
47 {
48  Pds::IterationConf Conf;
49  Conf.Show=false; Conf.SetMinError(1e-07); Conf.SetAlpha(0.1);
50 
51  // Generating data
52  Pds::Vector Y="0 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1";
53 
54  Pds::Matrix X=
55  "2 4 2 2 4 4 2 2 2 2 2 4 4 4 4 4\n"
56  "6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6\n"
57  "1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500\n"
58  "22 23 28 28 35 39 22 26 26 28 35 28 30 35 35 38";
59 
60  X=X.T();
61  Y=Y.T();
62 
63  Pds::MergeHor({X,Y}).Print("{X,Y}\n");
64 
65  Pds::Vector Yp;
66  Pds::Vector W;
67 
68  std::cout<<"\n\n";
70  // Create W using training data
71 
72  // Método ortogonal
74 
75  W.T().Print(" W_ig: ");
76  std::cout<< " Cost(W): "<<Pds::LogisticModel::CostInformationGain(W,X,Y)<<"\n\n";
77 
79 
80  // Método de gradiente
81  //W=Pds::LogisticModel::GetW0MeanMethod(X);
83 
84  W.T().Print(" W_ig: ");
85  std::cout<< " Cost(W): "<<Pds::LogisticModel::CostInformationGain(W,X,Y)<<"\n";
86 
88 
89  return 0;
90 }
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
bool SetAlpha(double Alpha)
Coloca el valor alpha.
bool SetMinError(double MinError)
Coloca el valor MinError.
Pds::Vector FittingGradientIG(Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y, const Pds::Vector &W0)
Calculo de pesos.
double CostInformationGain(const Pds::Vector &W, const Pds::Matrix &X, const Pds::Vector &Y)
Calculo de costo.
Pds::Vector Classify(const Pds::Vector &W, const Pds::Matrix &X)
Calculo del resultado del clasificador.
Pds::Vector FittingOrtogonalIG(const Pds::Matrix &X, const Pds::Vector &Y, unsigned int MinID)
Calculo de pesos.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed