Skip to content

Commit 1fddd2c

Browse files
more thorough cleanup
1 parent 9787bb2 commit 1fddd2c

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

cpp/APLRRegressor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff 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
{

cpp/term.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff 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

5960
public:
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+
607614
VectorXd Term::calculate_prediction_contribution(const MatrixXd &X)
608615
{
609616
VectorXd values{calculate(X)};

0 commit comments

Comments
 (0)