@@ -35,7 +35,6 @@ const std::string CLASS_MODEL_TAG{"c"};
35
35
const std::string MIN_MAX_LOG_LIKELIHOOD_TO_USE_FEATURE_TAG{" d" };
36
36
const std::string COUNT_TAG{" e" };
37
37
const std::string CONDITIONAL_DENSITY_FROM_PRIOR_TAG{" f" };
38
- const std::string EXEMPLAR_FROM_PRIOR_TAG{" g" };
39
38
}
40
39
41
40
CNaiveBayesFeatureDensityFromPrior::CNaiveBayesFeatureDensityFromPrior (const CPrior& prior)
@@ -125,9 +124,10 @@ CNaiveBayes::CNaiveBayes(const CNaiveBayesFeatureDensity& exemplar,
125
124
m_DecayRate{decayRate}, m_Exemplar{exemplar.clone ()}, m_ClassConditionalDensities{2 } {
126
125
}
127
126
128
- CNaiveBayes::CNaiveBayes (const SDistributionRestoreParams& params,
127
+ CNaiveBayes::CNaiveBayes (const CNaiveBayesFeatureDensity& exemplar,
128
+ const SDistributionRestoreParams& params,
129
129
core::CStateRestoreTraverser& traverser)
130
- : m_DecayRate{params.s_DecayRate }, m_ClassConditionalDensities{2 } {
130
+ : m_DecayRate{params.s_DecayRate }, m_Exemplar{exemplar. clone ()}, m_ClassConditionalDensities{2 } {
131
131
traverser.traverseSubLevel (boost::bind (&CNaiveBayes::acceptRestoreTraverser,
132
132
this , boost::cref (params), _1));
133
133
}
@@ -146,13 +146,6 @@ bool CNaiveBayes::acceptRestoreTraverser(const SDistributionRestoreParams& param
146
146
do {
147
147
const std::string& name{traverser.name ()};
148
148
RESTORE_BUILT_IN (CLASS_LABEL_TAG, label)
149
- RESTORE_SETUP_TEARDOWN (
150
- EXEMPLAR_FROM_PRIOR_TAG, CNaiveBayesFeatureDensityFromPrior density,
151
- traverser.traverseSubLevel (
152
- boost::bind (&CNaiveBayesFeatureDensityFromPrior::acceptRestoreTraverser,
153
- boost::ref (density), boost::cref (params), _1)),
154
- m_Exemplar.reset (density.clone ()))
155
- // Add other implementations' restore code here.
156
149
RESTORE_SETUP_TEARDOWN (
157
150
CLASS_MODEL_TAG, CClass class_,
158
151
traverser.traverseSubLevel (boost::bind (&CClass::acceptRestoreTraverser,
@@ -170,13 +163,6 @@ void CNaiveBayes::acceptPersistInserter(core::CStatePersistInserter& inserter) c
170
163
using TSizeClassUMapCItr = TSizeClassUMap::const_iterator;
171
164
using TSizeClassUMapCItrVec = std::vector<TSizeClassUMapCItr>;
172
165
173
- if (dynamic_cast <const CNaiveBayesFeatureDensityFromPrior*>(m_Exemplar.get ())) {
174
- inserter.insertLevel (EXEMPLAR_FROM_PRIOR_TAG,
175
- boost::bind (&CNaiveBayesFeatureDensity::acceptPersistInserter,
176
- m_Exemplar.get (), _1));
177
- }
178
- // Add other implementations' persist code here.
179
-
180
166
TSizeClassUMapCItrVec classes;
181
167
classes.reserve (m_ClassConditionalDensities.size ());
182
168
for (auto i = m_ClassConditionalDensities.begin ();
0 commit comments