[mlpack-svn] r17194 - mlpack/trunk/src/mlpack/methods/linear_regression

fastlab-svn at coffeetalk-1.cc.gatech.edu fastlab-svn at coffeetalk-1.cc.gatech.edu
Sat Sep 27 12:31:06 EDT 2014


Author: rcurtin
Date: Sat Sep 27 12:31:06 2014
New Revision: 17194

Log:
Tabs to spaces.


Modified:
   mlpack/trunk/src/mlpack/methods/linear_regression/linear_regression.cpp

Modified: mlpack/trunk/src/mlpack/methods/linear_regression/linear_regression.cpp
==============================================================================
--- mlpack/trunk/src/mlpack/methods/linear_regression/linear_regression.cpp	(original)
+++ mlpack/trunk/src/mlpack/methods/linear_regression/linear_regression.cpp	Sat Sep 27 12:31:06 2014
@@ -9,13 +9,13 @@
 
 using namespace mlpack;
 using namespace mlpack::regression;
-  
+
 LinearRegression::LinearRegression(const arma::mat& predictors,
-																	 const arma::vec& responses,
-																	 const double lambda,
-																	 const bool intercept,
-																	 const arma::vec& weights
-																	 ) :
+                                   const arma::vec& responses,
+                                   const double lambda,
+                                   const bool intercept,
+                                   const arma::vec& weights
+                                   ) :
     lambda(lambda),
     intercept(intercept)
 {
@@ -31,30 +31,30 @@
   const size_t nCols = predictors.n_cols;
 
   arma::mat p = predictors;
-	arma::vec r = responses;
-	// Here we add the row of ones to the predictors.
-	// The intercept is not penalized. Add an "all ones" row to design and set
-	// intercept = false to get a penalized intercept
-	if(intercept)
-	{
-		p.insert_rows(0, arma::ones<arma::mat>(1,nCols));
-	}
-	
- 	if(weights.n_elem > 0)
-	{
-	  p = p * diagmat(sqrt(weights));
+  arma::vec r = responses;
+  // Here we add the row of ones to the predictors.
+  // The intercept is not penalized. Add an "all ones" row to design and set
+  // intercept = false to get a penalized intercept
+  if(intercept)
+  {
+    p.insert_rows(0, arma::ones<arma::mat>(1,nCols));
+  }
+
+   if(weights.n_elem > 0)
+  {
+    p = p * diagmat(sqrt(weights));
     r =  sqrt(weights) % responses;
-	}
+  }
 
   if (lambda != 0.0)
   {
     // Add the identity matrix to the predictors (this is equivalent to ridge
     // regression).  See http://math.stackexchange.com/questions/299481/ for
     // more information.
-		p.insert_cols(nCols, predictors.n_rows);
+    p.insert_cols(nCols, predictors.n_rows);
     p.submat(p.n_rows - predictors.n_rows, nCols, p.n_rows - 1, nCols +
-		predictors.n_rows - 1) = sqrt(lambda) * arma::eye<arma::mat>(predictors.n_rows,
-		    predictors.n_rows);
+    predictors.n_rows - 1) = sqrt(lambda) * arma::eye<arma::mat>(predictors.n_rows,
+        predictors.n_rows);
   }
 
   // We compute the QR decomposition of the predictors.
@@ -73,7 +73,7 @@
   else
   {
     // Copy responses into larger vector.
-		r.insert_rows(nCols,p.n_cols - nCols);
+    r.insert_rows(nCols,p.n_cols - nCols);
     arma::solve(parameters, R, arma::trans(Q) * r);
   }
 }
@@ -94,22 +94,22 @@
 void LinearRegression::Predict(const arma::mat& points, arma::vec& predictions)
     const
 {
-	if (intercept)
-	{
-		// We want to be sure we have the correct number of dimensions in the dataset.
+  if (intercept)
+  {
+    // We want to be sure we have the correct number of dimensions in the dataset.
     Log::Assert(points.n_rows == parameters.n_rows-1);
-		// Get the predictions, but this ignores the intercept value (parameters[0]).
-	  predictions = arma::trans(arma::trans(parameters.subvec(1, parameters.n_elem - 1)) * points);	
-		// Now add the intercept.
-		predictions += parameters(0);
-	}
-	else
-	{
-		// We want to be sure we have the correct number of dimensions in the dataset.
+    // Get the predictions, but this ignores the intercept value (parameters[0]).
+    predictions = arma::trans(arma::trans(parameters.subvec(1, parameters.n_elem - 1)) * points);
+    // Now add the intercept.
+    predictions += parameters(0);
+  }
+  else
+  {
+    // We want to be sure we have the correct number of dimensions in the dataset.
     Log::Assert(points.n_rows == parameters.n_rows);
-		predictions = arma::trans(arma::trans(parameters) * points);
-	}
- 
+    predictions = arma::trans(arma::trans(parameters) * points);
+  }
+
 }
 
 //! Compute the L2 squared error on the given predictors and responses.
@@ -122,28 +122,28 @@
 
   // Calculate the differences between actual responses and predicted responses.
   // We must also add the intercept (parameters(0)) to the predictions.
-	arma::vec temp;
-	if (intercept)
-	{
-		// Ensure that we have the correct number of dimensions in the dataset.
-		if (nRows != parameters.n_rows - 1)
-		{
-			Log::Fatal << "The test data must have the same number of columns as the "
-					"training file." << std::endl;
-		}
-		temp = responses - arma::trans( (arma::trans(parameters.subvec(1,
-		    parameters.n_elem - 1)) * predictors) + parameters(0));
-	}
-	else
-	{
-		// Ensure that we have the correct number of dimensions in the dataset.
-		if (nRows != parameters.n_rows)
-		{
-			Log::Fatal << "The test data must have the same number of columns as the "
-					"training file." << std::endl;
-		}
-		temp = responses - arma::trans((arma::trans(parameters) * predictors));
-	}
+  arma::vec temp;
+  if (intercept)
+  {
+    // Ensure that we have the correct number of dimensions in the dataset.
+    if (nRows != parameters.n_rows - 1)
+    {
+      Log::Fatal << "The test data must have the same number of columns as the "
+          "training file." << std::endl;
+    }
+    temp = responses - arma::trans( (arma::trans(parameters.subvec(1,
+        parameters.n_elem - 1)) * predictors) + parameters(0));
+  }
+  else
+  {
+    // Ensure that we have the correct number of dimensions in the dataset.
+    if (nRows != parameters.n_rows)
+    {
+      Log::Fatal << "The test data must have the same number of columns as the "
+          "training file." << std::endl;
+    }
+    temp = responses - arma::trans((arma::trans(parameters) * predictors));
+  }
   const double cost = arma::dot(temp, temp) / nCols;
 
   return cost;



More information about the mlpack-svn mailing list