[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