[mlpack-svn] r16049 - mlpack/trunk/src/mlpack/tests
fastlab-svn at coffeetalk-1.cc.gatech.edu
fastlab-svn at coffeetalk-1.cc.gatech.edu
Wed Nov 20 11:37:50 EST 2013
Author: rcurtin
Date: Wed Nov 20 11:37:50 2013
New Revision: 16049
Log:
Refactor tests so that they do not give the extra column of ones for the
intercept term.
Modified:
mlpack/trunk/src/mlpack/tests/logistic_regression_test.cpp
Modified: mlpack/trunk/src/mlpack/tests/logistic_regression_test.cpp
==============================================================================
--- mlpack/trunk/src/mlpack/tests/logistic_regression_test.cpp (original)
+++ mlpack/trunk/src/mlpack/tests/logistic_regression_test.cpp Wed Nov 20 11:37:50 2013
@@ -21,8 +21,7 @@
BOOST_AUTO_TEST_CASE(LogisticRegressionFunctionEvaluate)
{
// Very simple fake dataset.
- arma::mat data("1 1 1;" // Fake row for intercept.
- "1 2 3;"
+ arma::mat data("1 2 3;"
"1 2 3");
arma::vec responses("1 1 0");
@@ -62,14 +61,14 @@
{
// Generate a random set of parameters.
arma::vec parameters;
- parameters.randu(dimension);
+ parameters.randu(dimension + 1);
// Hand-calculate the loss function.
double loglikelihood = 0.0;
for (size_t j = 0; j < points; ++j)
{
- const double sigmoid = (1.0 / (1.0 +
- exp(-arma::dot(data.col(j), parameters))));
+ const double sigmoid = (1.0 / (1.0 + exp(-parameters[0] -
+ arma::dot(data.col(j), parameters.subvec(1, dimension)))));
if (responses[j] == 1.0)
loglikelihood += log(std::pow(sigmoid, responses[j]));
else
@@ -103,7 +102,7 @@
for (size_t i = 0; i < trials; ++i)
{
- arma::vec parameters(dimension);
+ arma::vec parameters(dimension + 1);
parameters.randu();
// Regularization term: 0.5 * lambda * || parameters ||_2^2 (but note that
@@ -126,8 +125,7 @@
BOOST_AUTO_TEST_CASE(LogisticRegressionFunctionGradient)
{
// Very simple fake dataset.
- arma::mat data("1 1 1;" // Fake row for intercept.
- "1 2 3;"
+ arma::mat data("1 2 3;"
"1 2 3");
arma::vec responses("1 1 0");
@@ -176,9 +174,8 @@
BOOST_AUTO_TEST_CASE(LogisticRegressionSeparableEvaluate)
{
// Very simple fake dataset.
- arma::mat data("1 1 1;" // Fake row for intercept.
- "1 2 3;"
- "1 2 3");
+ arma::mat data("1 2 3;"
+ "1 2 3;");
arma::vec responses("1 1 0");
// Create a LogisticRegressionFunction.
@@ -242,7 +239,7 @@
for (size_t i = 0; i < trials; ++i)
{
- arma::vec parameters(dimension);
+ arma::vec parameters(dimension + 1);
parameters.randu();
// Regularization term: 0.5 * lambda * || parameters ||_2^2 (but note that
@@ -268,8 +265,7 @@
BOOST_AUTO_TEST_CASE(LogisticRegressionFunctionSeparableGradient)
{
// Very simple fake dataset.
- arma::mat data("1 1 1;" // Fake row for intercept.
- "1 2 3;"
+ arma::mat data("1 2 3;"
"1 2 3");
arma::vec responses("1 1 0");
@@ -361,7 +357,7 @@
for (size_t i = 0; i < trials; ++i)
{
- arma::vec parameters(dimension);
+ arma::vec parameters(dimension + 1);
parameters.randu();
// Regularization term: 0.5 * lambda * || parameters ||_2^2 (but note that
@@ -423,7 +419,7 @@
for (size_t i = 0; i < trials; ++i)
{
- arma::vec parameters(dimension);
+ arma::vec parameters(dimension + 1);
parameters.randu();
// Regularization term: 0.5 * lambda * || parameters ||_2^2 (but note that
More information about the mlpack-svn
mailing list