Skip to content
Snippets Groups Projects
Commit caa2a8cf authored by Thomas Purcell's avatar Thomas Purcell
Browse files

Bug fix

Set _n_class for all ModelClassiers
parent 4a52a097
No related branches found
No related tags found
No related merge requests found
...@@ -62,6 +62,8 @@ ModelClassifier::ModelClassifier( ...@@ -62,6 +62,8 @@ ModelClassifier::ModelClassifier(
ModelClassifier::ModelClassifier(const std::string train_file) ModelClassifier::ModelClassifier(const std::string train_file)
{ {
populate_model(train_file); populate_model(train_file);
_n_class = _loss->n_class();
int file_train_n_convex_overlap = _train_n_convex_overlap; int file_train_n_convex_overlap = _train_n_convex_overlap;
_train_n_convex_overlap = 0; _train_n_convex_overlap = 0;
...@@ -80,6 +82,8 @@ ModelClassifier::ModelClassifier(const std::string train_file) ...@@ -80,6 +82,8 @@ ModelClassifier::ModelClassifier(const std::string train_file)
ModelClassifier::ModelClassifier(const std::string train_file, std::string test_file) ModelClassifier::ModelClassifier(const std::string train_file, std::string test_file)
{ {
populate_model(train_file, test_file); populate_model(train_file, test_file);
_n_class = _loss->n_class();
int file_train_n_convex_overlap = _train_n_convex_overlap; int file_train_n_convex_overlap = _train_n_convex_overlap;
_train_n_convex_overlap = 0; _train_n_convex_overlap = 0;
......
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
ModelClassifier::ModelClassifier(const ModelClassifier& o, py::list new_coefs, np::ndarray prop_train_est, np::ndarray prop_test_est) : ModelClassifier::ModelClassifier(const ModelClassifier& o, py::list new_coefs, np::ndarray prop_train_est, np::ndarray prop_test_est) :
Model(o), Model(o),
_n_class(o._n_class),
_train_n_convex_overlap(o._train_n_convex_overlap), _train_n_convex_overlap(o._train_n_convex_overlap),
_test_n_convex_overlap(o._test_n_convex_overlap) _test_n_convex_overlap(o._test_n_convex_overlap)
{ {
...@@ -31,7 +32,6 @@ ModelClassifier::ModelClassifier(const ModelClassifier& o, py::list new_coefs, n ...@@ -31,7 +32,6 @@ ModelClassifier::ModelClassifier(const ModelClassifier& o, py::list new_coefs, n
{ {
_coefs.push_back(python_conv_utils::from_list<double>(coef_list)); _coefs.push_back(python_conv_utils::from_list<double>(coef_list));
} }
std::vector<int> misclassified(_n_samp_train); std::vector<int> misclassified(_n_samp_train);
std::transform( std::transform(
_loss->prop_train().begin(), _loss->prop_train().begin(),
...@@ -55,6 +55,7 @@ ModelClassifier::ModelClassifier(const ModelClassifier& o, py::list new_coefs, n ...@@ -55,6 +55,7 @@ ModelClassifier::ModelClassifier(const ModelClassifier& o, py::list new_coefs, n
ModelClassifier::ModelClassifier(const ModelClassifier& o, np::ndarray new_coefs, np::ndarray prop_train_est, np::ndarray prop_test_est) : ModelClassifier::ModelClassifier(const ModelClassifier& o, np::ndarray new_coefs, np::ndarray prop_train_est, np::ndarray prop_test_est) :
Model(o), Model(o),
_n_class(o._n_class),
_train_n_convex_overlap(o._train_n_convex_overlap), _train_n_convex_overlap(o._train_n_convex_overlap),
_test_n_convex_overlap(o._test_n_convex_overlap) _test_n_convex_overlap(o._test_n_convex_overlap)
{ {
...@@ -63,7 +64,6 @@ ModelClassifier::ModelClassifier(const ModelClassifier& o, np::ndarray new_coefs ...@@ -63,7 +64,6 @@ ModelClassifier::ModelClassifier(const ModelClassifier& o, np::ndarray new_coefs
{ {
_coefs.push_back(python_conv_utils::from_ndarray<double>(py::extract<np::ndarray>(new_coefs[ii]))); _coefs.push_back(python_conv_utils::from_ndarray<double>(py::extract<np::ndarray>(new_coefs[ii])));
} }
std::vector<int> misclassified(_n_samp_train); std::vector<int> misclassified(_n_samp_train);
std::transform( std::transform(
_loss->prop_train().begin(), _loss->prop_train().begin(),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment