[mlpack-git] master: Use a const datasetInfo. (567f212)
gitdub at big.cc.gt.atl.ga.us
gitdub at big.cc.gt.atl.ga.us
Wed Dec 23 11:45:12 EST 2015
Repository : https://github.com/mlpack/mlpack
On branch : master
Link : https://github.com/mlpack/mlpack/compare/de9cc4b05069e1fa4793d9355f2f595af5ff45d2...6070527af14296cd99739de6c62666cc5d2a2125
>---------------------------------------------------------------
commit 567f2126f156d336bbf3579f5e9899481dda71cd
Author: Ryan Curtin <ryan at ratml.org>
Date: Tue Oct 27 14:01:57 2015 -0700
Use a const datasetInfo.
>---------------------------------------------------------------
567f2126f156d336bbf3579f5e9899481dda71cd
src/mlpack/methods/hoeffding_trees/hoeffding_split.hpp | 2 +-
src/mlpack/methods/hoeffding_trees/hoeffding_split_impl.hpp | 12 ++++++++++--
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/mlpack/methods/hoeffding_trees/hoeffding_split.hpp b/src/mlpack/methods/hoeffding_trees/hoeffding_split.hpp
index 86ae07d..ebaee47 100644
--- a/src/mlpack/methods/hoeffding_trees/hoeffding_split.hpp
+++ b/src/mlpack/methods/hoeffding_trees/hoeffding_split.hpp
@@ -83,7 +83,7 @@ class HoeffdingSplit
size_t numClasses;
size_t maxSamples;
size_t checkInterval;
- data::DatasetInfo* datasetInfo;
+ const data::DatasetInfo* datasetInfo;
double successProbability;
// And we need to keep some information for after we have split.
diff --git a/src/mlpack/methods/hoeffding_trees/hoeffding_split_impl.hpp b/src/mlpack/methods/hoeffding_trees/hoeffding_split_impl.hpp
index 99f2f0d..b0898e7 100644
--- a/src/mlpack/methods/hoeffding_trees/hoeffding_split_impl.hpp
+++ b/src/mlpack/methods/hoeffding_trees/hoeffding_split_impl.hpp
@@ -32,7 +32,7 @@ HoeffdingSplit<
numClasses(numClasses),
maxSamples(maxSamples),
checkInterval(checkInterval),
- datasetInfo(const_cast<data::DatasetInfo*>(&datasetInfo)),
+ datasetInfo(&datasetInfo),
successProbability(successProbability),
splitDimension(size_t(-1)),
categoricalSplit(0),
@@ -349,7 +349,15 @@ void HoeffdingSplit<
ar & CreateNVP(splitDimension, "splitDimension");
ar & CreateNVP(dimensionMappings, "dimensionMappings");
ar & CreateNVP(ownsMappings, "ownsMappings");
- ar & CreateNVP(datasetInfo, "datasetInfo");
+
+ // Special handling for const object.
+ data::DatasetInfo* d = NULL;
+ if (Archive::is_saving::value)
+ d = const_cast<data::DatasetInfo*>(datasetInfo);
+ ar & CreateNVP(d, "datasetInfo");
+ if (Archive::is_loading::value)
+ datasetInfo = d;
+
ar & CreateNVP(majorityClass, "majorityClass");
ar & CreateNVP(majorityProbability, "majorityProbability");
More information about the mlpack-git
mailing list