[mlpack-git] master: make policy and imputation api more consistent (d881cb7)

gitdub at mlpack.org gitdub at mlpack.org
Mon Jul 25 12:19:11 EDT 2016


Repository : https://github.com/mlpack/mlpack
On branch  : master
Link       : https://github.com/mlpack/mlpack/compare/ecbfd24defe31d9f39708c0b4c6ad352cd46ed5c...7eec0609aa21cb12aeed3cbcaa1e411dad0359f2

>---------------------------------------------------------------

commit d881cb7e229e9ed5c56922aec3c45d5ddc5518e0
Author: Keon Kim <kwk236 at gmail.com>
Date:   Wed Jul 6 04:10:34 2016 +0900

    make policy and imputation api more consistent


>---------------------------------------------------------------

d881cb7e229e9ed5c56922aec3c45d5ddc5518e0
 src/mlpack/core/data/dataset_info_impl.hpp               |  2 +-
 .../core/data/imputation_methods/custom_imputation.hpp   | 12 ++++++------
 .../core/data/imputation_methods/listwise_deletion.hpp   | 10 +++++-----
 .../core/data/imputation_methods/mean_imputation.hpp     |  2 +-
 .../core/data/imputation_methods/median_imputation.hpp   |  2 +-
 src/mlpack/core/data/imputer.hpp                         | 10 +++-------
 src/mlpack/core/data/map_policies/increment_policy.hpp   | 12 ++++++------
 src/mlpack/core/data/map_policies/missing_policy.hpp     | 12 ++++++------
 src/mlpack/tests/imputation_test.cpp                     | 16 ++++++++--------
 9 files changed, 37 insertions(+), 41 deletions(-)

diff --git a/src/mlpack/core/data/dataset_info_impl.hpp b/src/mlpack/core/data/dataset_info_impl.hpp
index 015a03a..6bb7d75 100644
--- a/src/mlpack/core/data/dataset_info_impl.hpp
+++ b/src/mlpack/core/data/dataset_info_impl.hpp
@@ -37,7 +37,7 @@ inline typename PolicyType::mapped_type DatasetMapper<PolicyType>::MapString(
                                                     const std::string& string,
                                                     const size_t dimension)
 {
-  return policy.template MapString<MapType>(maps, types, string, dimension);
+  return policy.template MapString<MapType>(string, dimension, maps, types);
 }
 
 // Return the string corresponding to a value in a given dimension.
diff --git a/src/mlpack/core/data/imputation_methods/custom_imputation.hpp b/src/mlpack/core/data/imputation_methods/custom_imputation.hpp
index fc95e30..83bde9d 100644
--- a/src/mlpack/core/data/imputation_methods/custom_imputation.hpp
+++ b/src/mlpack/core/data/imputation_methods/custom_imputation.hpp
@@ -19,12 +19,12 @@ template <typename T>
 class CustomImputation
 {
  public:
-  void Apply(const arma::Mat<T>& input,
-             arma::Mat<T>& output,
-             const T& mappedValue,
-             const T& customValue,
-             const size_t dimension,
-             const bool transpose = true)
+  void Impute(const arma::Mat<T>& input,
+              arma::Mat<T>& output,
+              const T& mappedValue,
+              const T& customValue,
+              const size_t dimension,
+              const bool transpose = true)
   {
     // initiate output
     output = input;
diff --git a/src/mlpack/core/data/imputation_methods/listwise_deletion.hpp b/src/mlpack/core/data/imputation_methods/listwise_deletion.hpp
index 19487fa..9f3a7d2 100644
--- a/src/mlpack/core/data/imputation_methods/listwise_deletion.hpp
+++ b/src/mlpack/core/data/imputation_methods/listwise_deletion.hpp
@@ -23,11 +23,11 @@ template <typename T>
 class ListwiseDeletion
 {
  public:
-  void Apply(const arma::Mat<T>& input,
-             arma::Mat<T>& output,
-             const T& mappedValue,
-             const size_t dimension,
-             const bool transpose = true)
+  void Impute(const arma::Mat<T>& input,
+              arma::Mat<T>& output,
+              const T& mappedValue,
+              const size_t dimension,
+              const bool transpose = true)
   {
     // initiate output
     output = input;
diff --git a/src/mlpack/core/data/imputation_methods/mean_imputation.hpp b/src/mlpack/core/data/imputation_methods/mean_imputation.hpp
index 3c3f853..157ba53 100644
--- a/src/mlpack/core/data/imputation_methods/mean_imputation.hpp
+++ b/src/mlpack/core/data/imputation_methods/mean_imputation.hpp
@@ -22,7 +22,7 @@ template <typename T>
 class MeanImputation
 {
  public:
-  void Apply (const arma::Mat<T>& input,
+  void Impute(const arma::Mat<T>& input,
               arma::Mat<T>& output,
               const T& mappedValue,
               const size_t dimension,
diff --git a/src/mlpack/core/data/imputation_methods/median_imputation.hpp b/src/mlpack/core/data/imputation_methods/median_imputation.hpp
index c46d326..0035be9 100644
--- a/src/mlpack/core/data/imputation_methods/median_imputation.hpp
+++ b/src/mlpack/core/data/imputation_methods/median_imputation.hpp
@@ -22,7 +22,7 @@ template <typename T>
 class MedianImputation
 {
  public:
-  void Apply (const arma::Mat<T>& input,
+  void Impute(const arma::Mat<T>& input,
               arma::Mat<T>& output,
               const T& mappedValue,
               const size_t dimension,
diff --git a/src/mlpack/core/data/imputer.hpp b/src/mlpack/core/data/imputer.hpp
index 4596639..3bc9cb5 100644
--- a/src/mlpack/core/data/imputer.hpp
+++ b/src/mlpack/core/data/imputer.hpp
@@ -60,7 +60,7 @@ class Imputer
               const size_t dimension)
   {
     T mappedValue = static_cast<T>(mapper.UnmapValue(missingValue, dimension));
-    strategy.Apply(input, output, mappedValue, dimension, transpose);
+    strategy.Impute(input, output, mappedValue, dimension, transpose);
   }
 
   /**
@@ -74,12 +74,8 @@ class Imputer
               const size_t dimension)
   {
     T mappedValue = static_cast<T>(mapper.UnmapValue(missingValue, dimension));
-    strategy.Apply(input,
-                   output,
-                   mappedValue,
-                   customValue,
-                   dimension,
-                   transpose);
+    strategy.Impute(input, output, mappedValue, customValue, dimension,
+                    transpose);
   }
 
   //! Get the strategy
diff --git a/src/mlpack/core/data/map_policies/increment_policy.hpp b/src/mlpack/core/data/map_policies/increment_policy.hpp
index 68a474f..4a971d2 100644
--- a/src/mlpack/core/data/map_policies/increment_policy.hpp
+++ b/src/mlpack/core/data/map_policies/increment_policy.hpp
@@ -28,10 +28,10 @@ class IncrementPolicy
   using mapped_type = size_t;
 
   template <typename MapType>
-  mapped_type MapString(MapType& maps,
-                       std::vector<Datatype>& types,
-                       const std::string& string,
-                       const size_t dimension)
+  mapped_type MapString(const std::string& string,
+                        const size_t dimension,
+                        MapType& maps,
+                        std::vector<Datatype>& types)
   {
     // If this condition is true, either we have no mapping for the given string
     // or we have no mappings for the given dimension at all.  In either case,
@@ -79,8 +79,8 @@ class IncrementPolicy
     {
        for (size_t i = 0; i != tokens.size(); ++i)
        {
-         const eT val = static_cast<eT>(this->MapString(maps, types, tokens[i],
-                                                        row));
+         const eT val = static_cast<eT>(this->MapString(tokens[i], row, maps,
+                                                        types));
          double temp = (double) val;
          matrix.at(row, i) = val;
        }
diff --git a/src/mlpack/core/data/map_policies/missing_policy.hpp b/src/mlpack/core/data/map_policies/missing_policy.hpp
index 59be010..88fbb39 100644
--- a/src/mlpack/core/data/map_policies/missing_policy.hpp
+++ b/src/mlpack/core/data/map_policies/missing_policy.hpp
@@ -41,10 +41,10 @@ class MissingPolicy
 
 
   template <typename MapType>
-  mapped_type MapString(MapType& maps,
-                        std::vector<Datatype>& types,
-                        const std::string& string,
-                        const size_t dimension)
+  mapped_type MapString(const std::string& string,
+                        const size_t dimension,
+                        MapType maps,
+                        std::vector<Datatype>& types)
   {
     // If this condition is true, either we have no mapping for the given string
     // or we have no mappings for the given dimension at all.  In either case,
@@ -84,8 +84,8 @@ class MissingPolicy
       token>>matrix.at(row, i);
       if (token.fail()) // if not number, map it to datasetmapper
       {
-        const eT val = static_cast<eT>(this->MapString(maps, types, tokens[i],
-                                                       row));
+        const eT val = static_cast<eT>(this->MapString(tokens[i], row, maps,
+                                                       types));
         matrix.at(row, i) = val;
       }
       token.clear();
diff --git a/src/mlpack/tests/imputation_test.cpp b/src/mlpack/tests/imputation_test.cpp
index 9a37939..f02e97e 100644
--- a/src/mlpack/tests/imputation_test.cpp
+++ b/src/mlpack/tests/imputation_test.cpp
@@ -99,7 +99,7 @@ BOOST_AUTO_TEST_CASE(CustomImputationTest)
   CustomImputation<double> imputer;
 
   // transposed
-  imputer.Apply(input, outputT, mappedValue, customValue, 0/*dimension*/, true);
+  imputer.Impute(input, outputT, mappedValue, customValue, 0/*dimension*/, true);
 
   BOOST_REQUIRE_CLOSE(outputT(0, 0), 3.0, 1e-5);
   BOOST_REQUIRE_CLOSE(outputT(0, 1), 99.0, 1e-5);
@@ -115,7 +115,7 @@ BOOST_AUTO_TEST_CASE(CustomImputationTest)
   BOOST_REQUIRE_CLOSE(outputT(2, 3), 8.0, 1e-5);
 
   // not transposed
-  imputer.Apply(input, output, mappedValue, customValue, 1, false);
+  imputer.Impute(input, output, mappedValue, customValue, 1, false);
 
   BOOST_REQUIRE_CLOSE(output(0, 0), 3.0, 1e-5);
   BOOST_REQUIRE_CLOSE(output(0, 1), 99.0, 1e-5);
@@ -146,7 +146,7 @@ BOOST_AUTO_TEST_CASE(MeanImputationTest)
   MeanImputation<double> imputer;
 
   // transposed
-  imputer.Apply(input, outputT, mappedValue, 0, true);
+  imputer.Impute(input, outputT, mappedValue, 0, true);
 
   BOOST_REQUIRE_CLOSE(outputT(0, 0), 3.0, 1e-5);
   BOOST_REQUIRE_CLOSE(outputT(0, 1), 2.5, 1e-5);
@@ -162,7 +162,7 @@ BOOST_AUTO_TEST_CASE(MeanImputationTest)
   BOOST_REQUIRE_CLOSE(outputT(2, 3), 8.0, 1e-5);
 
   // not transposed
-  imputer.Apply(input, output, mappedValue, 1, false);
+  imputer.Impute(input, output, mappedValue, 1, false);
 
   BOOST_REQUIRE_CLOSE(output(0, 0), 3.0, 1e-5);
   BOOST_REQUIRE_CLOSE(output(0, 1), 7.0, 1e-5);
@@ -193,7 +193,7 @@ BOOST_AUTO_TEST_CASE(MedianImputationTest)
   MedianImputation<double> imputer;
 
   // transposed
-  imputer.Apply(input, outputT, mappedValue, 1, true);
+  imputer.Impute(input, outputT, mappedValue, 1, true);
 
   BOOST_REQUIRE_CLOSE(outputT(0, 0), 3.0, 1e-5);
   BOOST_REQUIRE_CLOSE(outputT(0, 1), 0.0, 1e-5);
@@ -209,7 +209,7 @@ BOOST_AUTO_TEST_CASE(MedianImputationTest)
   BOOST_REQUIRE_CLOSE(outputT(2, 3), 8.0, 1e-5);
 
   // not transposed
-  imputer.Apply(input, output, mappedValue, 1, false);
+  imputer.Impute(input, output, mappedValue, 1, false);
 
   BOOST_REQUIRE_CLOSE(output(0, 0), 3.0, 1e-5);
   BOOST_REQUIRE_CLOSE(output(0, 1), 6.0, 1e-5);
@@ -240,7 +240,7 @@ BOOST_AUTO_TEST_CASE(ListwiseDeletionTest)
   ListwiseDeletion<double> imputer;
 
   // transposed
-  imputer.Apply(input, outputT, mappedValue, 0, true); // transposed
+  imputer.Impute(input, outputT, mappedValue, 0, true); // transposed
 
   BOOST_REQUIRE_CLOSE(outputT(0, 0), 3.0, 1e-5);
   BOOST_REQUIRE_CLOSE(outputT(0, 1), 2.0, 1e-5);
@@ -250,7 +250,7 @@ BOOST_AUTO_TEST_CASE(ListwiseDeletionTest)
   BOOST_REQUIRE_CLOSE(outputT(2, 1), 4.0, 1e-5);
 
   // not transposed
-  imputer.Apply(input, output, mappedValue, 1, false); // not transposed
+  imputer.Impute(input, output, mappedValue, 1, false); // not transposed
 
   BOOST_REQUIRE_CLOSE(output(0, 0), 5.0, 1e-5);
   BOOST_REQUIRE_CLOSE(output(0, 1), 6.0, 1e-5);




More information about the mlpack-git mailing list