[mlpack-svn] r15869 - mlpack/trunk/src/mlpack/methods/cf

fastlab-svn at coffeetalk-1.cc.gatech.edu fastlab-svn at coffeetalk-1.cc.gatech.edu
Mon Sep 30 13:26:01 EDT 2013


Author: rcurtin
Date: Mon Sep 30 13:26:01 2013
New Revision: 15869

Log:
Clean up CleanData() function.  Don't use temporary matrices; there's no point
to doing that.


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

Modified: mlpack/trunk/src/mlpack/methods/cf/cf.cpp
==============================================================================
--- mlpack/trunk/src/mlpack/methods/cf/cf.cpp	(original)
+++ mlpack/trunk/src/mlpack/methods/cf/cf.cpp	Mon Sep 30 13:26:01 2013
@@ -132,38 +132,30 @@
 
 void CF::CleanData()
 {
-  Log::Info<<"CleanData";
-  //Temporarily stores max user id
-  double maxUserID;
-  //Temporarily stores max item id
-  double maxItemID;
-  //Calculating max users and items
-  maxUserID = data(0,0);
-  maxItemID = data(1,0);
-  for (size_t i=1;i<data.n_cols;i++)
+  // Temporarily stores max user id.
+  double maxUserID = data(0, 0);
+  // Temporarily stores max item id.
+  double maxItemID = data(1, 0);
+
+  // Calculate max users and items.
+  for (size_t i = 1; i < data.n_cols; i++)
   {
-      if(data(0,i)>maxUserID)
-        maxUserID = data(0,i);
-      if(data(1,i)>maxItemID)
-        maxItemID = data(1,i);
+    if (data(0, i) > maxUserID)
+      maxUserID = data(0, i);
+    if (data(1, i) > maxItemID)
+      maxItemID = data(1, i);
   }
-  //Temporarily stores sparcely populated rating matrix
-  arma::sp_mat tmp((size_t)maxItemID,(size_t)maxUserID);
-  //Temporarily stores mask matrix
-  arma::mat lMask = arma::ones<arma::mat>((size_t)maxItemID,
-                                          (size_t)maxUserID);
-  //Calculates the initial User-Item table
-  for (size_t i=0;i<data.n_cols;i++)
-    tmp(data(1,i)-1,data(0,i)-1) = data(2,i);
-  //Mask
-  for (size_t i=0;i<data.n_cols;i++)
-    lMask(data(1,i)-1,data(0,i)-1) = -1.0;
-  //Storing in a global variable
-  cleanedData = tmp;
-  //Storing the mask
-  mask=lMask;
- //data::Save("cleanedData.csv",cleanedData);
- //data::Save("mask.csv",mask);
+
+  // Fill sparse matrix and mask matrix.
+  cleanedData.set_size((size_t) maxItemID, (size_t) maxUserID);
+  mask = arma::ones<arma::mat>((size_t) maxItemID,
+                               (size_t) maxUserID);
+  // Calculates the initial User-Item table
+  for (size_t i = 0; i < data.n_cols; i++)
+    cleanedData(data(1, i) - 1, data(0, i) - 1) = data(2, i);
+  // Populate mask.
+  for (size_t i = 0; i < data.n_cols; i++)
+    mask(data(1, i) - 1, data(0, i) - 1) = -1.0;
 }
 
 void CF::Decompose()



More information about the mlpack-svn mailing list