File tree Expand file tree Collapse file tree 2 files changed +8
-1
lines changed Expand file tree Collapse file tree 2 files changed +8
-1
lines changed Original file line number Diff line number Diff line change @@ -422,7 +422,7 @@ void APLRRegressor::determine_interactions_to_consider()
422422 if (!(terms[sorted_latest_split_point_errors_indices[i]]==interaction))
423423 {
424424 interaction.given_terms .push_back (terms[sorted_latest_split_point_errors_indices[i]]);
425- interaction.given_terms [interaction.given_terms .size ()-1 ].coefficient_steps . resize ( 0 ); // freeing memory
425+ interaction.given_terms [interaction.given_terms .size ()-1 ].clean_up_when_this_term_was_added_as_a_given_predictor ();
426426 bool already_exists{false };
427427 for (size_t k = 0 ; k < terms_eligible_current.size (); ++k)
428428 {
Original file line number Diff line number Diff line change @@ -55,6 +55,7 @@ class Term
5555 void estimate_coefficient_and_error_on_all_data ();
5656 void clean_up_after_estimate_split_point ();
5757 void clean_up_after_fit ();
58+ void clean_up_when_this_term_was_added_as_a_given_predictor ();
5859
5960public:
6061 // fields
@@ -604,6 +605,12 @@ void Term::clean_up_after_fit()
604605 sample_weight_discretized.resize (0 );
605606}
606607
608+ void Term::clean_up_when_this_term_was_added_as_a_given_predictor ()
609+ {
610+ clean_up_after_fit ();
611+ coefficient_steps.resize (0 );
612+ }
613+
607614VectorXd Term::calculate_prediction_contribution (const MatrixXd &X)
608615{
609616 VectorXd values{calculate (X)};
You can’t perform that action at this time.
0 commit comments