92 Pds::Vector W0(X.Ncol()+1), W;
97 W0.T().Print(
" W0: ");
100 Pds::Octave::YLimits=
true;
101 Pds::Octave::XLabel=
"x_1";
102 Pds::Octave::YLabel=
"x_2";
103 Pds::Octave::Plot::PointsX2DYW(X,Y,W0,
"testando_dat.m",
"example_logisticregression_ce_svm_hard_dat.png");
110 W.T().Print(
" W_ce: ");
111 std::cout<<std::endl;
114 double IG_ce=Pds::InformationGain(Y,Y.FindRowsBlock(Yp));
116 Pds::Octave::YLimits=
true;
117 Pds::Octave::Plot::PointsX2DYW(X,Y,W,
"testando.m",
"example_logisticregression_ce_svm_hard_ce.png");
123 W.T().Print(
"W_svm: ");
124 std::cout<<std::endl;
127 double IG_svm=Pds::InformationGain(Y,Y.FindRowsBlock(Yp));
129 Pds::Octave::YLimits=
true;
130 Pds::Octave::Plot::PointsX2DYW(X,Y,W,
"testando.m",
"example_logisticregression_ce_svm_hard_svm.png");
133 std::cout<<std::endl;
134 std::cout<<
" IG_ce: "<<IG_ce<<std::endl;
135 std::cout<<
"IG_svm: "<<IG_svm<<std::endl;
La clase tipo Pds::IterationConf . Esta clase genera una matriz de Nlin lineas y 1 columna....
bool SetLambda(double Lambda)
Coloca el valor lambda.
bool SetAlpha(double Alpha)
Coloca el valor alpha.
bool SetMinError(double MinError)
Coloca el valor MinError.
void LoadDataBand2(unsigned int L, Pds::Matrix &X, Pds::Vector &Y)
Clasificacion de datos separados por mas de una curva.
Pds::Vector FittingGradientCrossEntropy(Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y, const Pds::Vector &W0)
Gradiente descendente para sigmoide.
Pds::Vector FittingGradientSVM(Pds::IterationConf &Conf, const Pds::Matrix &X, const Pds::Vector &Y, const Pds::Vector &W0)
Gradiente descendente para sigmoide.
Pds::Vector Classify(const Pds::Vector &W, const Pds::Matrix &X)
Calculo del resultado del clasificador.
Pds::Vector GetW0MeanSquareMethod(const Pds::Matrix &X)
Obtiene de forma rapida un vector inicial para usar en regresion logistica.