[mlpack-git] master: Remove unnecessary dimensionality parameter. (f8db920)

gitdub at big.cc.gt.atl.ga.us gitdub at big.cc.gt.atl.ga.us
Wed Dec 23 11:45:29 EST 2015


Repository : https://github.com/mlpack/mlpack

On branch  : master
Link       : https://github.com/mlpack/mlpack/compare/de9cc4b05069e1fa4793d9355f2f595af5ff45d2...6070527af14296cd99739de6c62666cc5d2a2125

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

commit f8db9200a8d9173a527d07d02b23f6ca8fb00b23
Author: Ryan Curtin <ryan at ratml.org>
Date:   Fri Oct 30 17:31:46 2015 +0000

    Remove unnecessary dimensionality parameter.


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

f8db9200a8d9173a527d07d02b23f6ca8fb00b23
 src/mlpack/methods/hoeffding_trees/hoeffding_tree.hpp       |  3 +--
 src/mlpack/methods/hoeffding_trees/hoeffding_tree_impl.hpp  | 13 +++++--------
 .../methods/hoeffding_trees/streaming_decision_tree.hpp     |  1 -
 .../hoeffding_trees/streaming_decision_tree_impl.hpp        |  5 ++---
 4 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/src/mlpack/methods/hoeffding_trees/hoeffding_tree.hpp b/src/mlpack/methods/hoeffding_trees/hoeffding_tree.hpp
index d290776..28bb4e5 100644
--- a/src/mlpack/methods/hoeffding_trees/hoeffding_tree.hpp
+++ b/src/mlpack/methods/hoeffding_trees/hoeffding_tree.hpp
@@ -101,9 +101,8 @@ class HoeffdingTree
    *      numeric and categorical split vectors.  If left NULL, a new one will
    *      be created.
    */
-  HoeffdingTree(const size_t dimensionality,
+  HoeffdingTree(const data::DatasetInfo& datasetInfo,
                 const size_t numClasses,
-                const data::DatasetInfo& datasetInfo,
                 const double successProbability,
                 const size_t maxSamples,
                 const size_t checkInterval,
diff --git a/src/mlpack/methods/hoeffding_trees/hoeffding_tree_impl.hpp b/src/mlpack/methods/hoeffding_trees/hoeffding_tree_impl.hpp
index 128d14d..afa5789 100644
--- a/src/mlpack/methods/hoeffding_trees/hoeffding_tree_impl.hpp
+++ b/src/mlpack/methods/hoeffding_trees/hoeffding_tree_impl.hpp
@@ -40,9 +40,8 @@ HoeffdingTree<
     FitnessFunction,
     NumericSplitType,
     CategoricalSplitType
->::HoeffdingTree(const size_t dimensionality,
+>::HoeffdingTree(const data::DatasetInfo& datasetInfo,
                  const size_t numClasses,
-                 const data::DatasetInfo& datasetInfo,
                  const double successProbability,
                  const size_t maxSamples,
                  const size_t checkInterval,
@@ -64,7 +63,7 @@ HoeffdingTree<
   // Do we need to generate the mappings too?
   if (ownsMappings)
   {
-    for (size_t i = 0; i < dimensionality; ++i)
+    for (size_t i = 0; i < datasetInfo.Dimensionality(); ++i)
     {
       if (datasetInfo.Type(i) == data::Datatype::categorical)
       {
@@ -83,7 +82,7 @@ HoeffdingTree<
   }
   else
   {
-    for (size_t i = 0; i < dimensionality; ++i)
+    for (size_t i = 0; i < datasetInfo.Dimensionality(); ++i)
     {
       if (datasetInfo.Type(i) == data::Datatype::categorical)
       {
@@ -358,12 +357,10 @@ void HoeffdingTree<
   }
 
   // We already know what the splitDimension will be.
-  const size_t dimensionality = numericSplits.size() + categoricalSplits.size();
   for (size_t i = 0; i < childMajorities.n_elem; ++i)
   {
-    children.push_back(StreamingDecisionTreeType(*datasetInfo, dimensionality,
-        numClasses, successProbability, maxSamples, checkInterval,
-        dimensionMappings));
+    children.push_back(StreamingDecisionTreeType(*datasetInfo, numClasses,
+        successProbability, maxSamples, checkInterval, dimensionMappings);
     children[i].MajorityClass() = childMajorities[i];
   }
 
diff --git a/src/mlpack/methods/hoeffding_trees/streaming_decision_tree.hpp b/src/mlpack/methods/hoeffding_trees/streaming_decision_tree.hpp
index 11d99fe..0e2fb98 100644
--- a/src/mlpack/methods/hoeffding_trees/streaming_decision_tree.hpp
+++ b/src/mlpack/methods/hoeffding_trees/streaming_decision_tree.hpp
@@ -28,7 +28,6 @@ class StreamingDecisionTree
                         const size_t checkInterval = 100);
 
   StreamingDecisionTree(const data::DatasetInfo& datasetInfo,
-                        const size_t dimensionality,
                         const size_t numClasses,
                         const double confidence = 0.95,
                         const size_t numSamples = 5000,
diff --git a/src/mlpack/methods/hoeffding_trees/streaming_decision_tree_impl.hpp b/src/mlpack/methods/hoeffding_trees/streaming_decision_tree_impl.hpp
index dda3d2a..e98a1cb 100644
--- a/src/mlpack/methods/hoeffding_trees/streaming_decision_tree_impl.hpp
+++ b/src/mlpack/methods/hoeffding_trees/streaming_decision_tree_impl.hpp
@@ -31,14 +31,13 @@ StreamingDecisionTree<SplitType, MatType>::StreamingDecisionTree(
 template<typename SplitType, typename MatType>
 StreamingDecisionTree<SplitType, MatType>::StreamingDecisionTree(
     const data::DatasetInfo& datasetInfo,
-    const size_t dimensionality,
     const size_t numClasses,
     const double confidence,
     const size_t numSamples,
     const size_t checkInterval,
     std::unordered_map<size_t, std::pair<size_t, size_t>>* dimensionMappings) :
-    split(dimensionality, numClasses, datasetInfo, confidence, numSamples,
-        checkInterval, dimensionMappings)
+    split(datasetInfo, numClasses, confidence, numSamples, checkInterval,
+        dimensionMappings)
 {
   // No training.  Anything else to do...?
 }



More information about the mlpack-git mailing list