@@ -97,70 +97,70 @@ PYBIND11_MODULE(aplr_cpp, m)
9797 .def_readwrite (" boosting_steps_before_pruning_is_done" , &APLRRegressor::boosting_steps_before_pruning_is_done)
9898 .def (py::pickle (
9999 [](const APLRRegressor &a) { // __getstate__
100- /* Return a tuple that fully encodes the state of the object */
101- return py::make_tuple (a.m , a.v , a.random_state , a.loss_function , a.link_function , a.n_jobs , a.validation_ratio , a.intercept , a.bins ,
102- a.verbosity , a.max_interaction_level , a.max_interactions , a.validation_error_steps , a.term_names , a.term_coefficients , a.terms ,
103- a.interactions_eligible , a.min_observations_in_split , a.ineligible_boosting_steps_added , a.max_eligible_terms ,
104- a.number_of_base_terms , a.feature_importance , a.dispersion_parameter , a.min_training_prediction_or_response ,
105- a.max_training_prediction_or_response , a.validation_tuning_metric , a.validation_indexes , a.quantile , a.m_optimal ,
106- a.intercept_steps , a.boosting_steps_before_pruning_is_done );
100+ /* Return a tuple that fully encodes the state of the object */
101+ return py::make_tuple (a.m , a.v , a.random_state , a.loss_function , a.link_function , a.n_jobs , a.validation_ratio , a.intercept , a.bins ,
102+ a.verbosity , a.max_interaction_level , a.max_interactions , a.validation_error_steps , a.term_names , a.term_coefficients , a.terms ,
103+ a.interactions_eligible , a.min_observations_in_split , a.ineligible_boosting_steps_added , a.max_eligible_terms ,
104+ a.number_of_base_terms , a.feature_importance , a.dispersion_parameter , a.min_training_prediction_or_response ,
105+ a.max_training_prediction_or_response , a.validation_tuning_metric , a.validation_indexes , a.quantile , a.m_optimal ,
106+ a.intercept_steps , a.boosting_steps_before_pruning_is_done );
107107 },
108108 [](py::tuple t) { // __setstate__
109- if (t.size () != 31 )
110- throw std::runtime_error (" Invalid state!" );
109+ if (t.size () != 31 )
110+ throw std::runtime_error (" Invalid state!" );
111111
112- /* Create a new C++ instance */
113- size_t m = t[0 ].cast <size_t >();
114- double v = t[1 ].cast <double >();
115- uint_fast32_t random_state = t[2 ].cast <uint_fast32_t >();
116- std::string loss_function = t[3 ].cast <std::string>();
117- std::string link_function = t[4 ].cast <std::string>();
118- size_t n_jobs = t[5 ].cast <size_t >();
119- double validation_ratio = t[6 ].cast <double >();
120- double intercept = t[7 ].cast <double >();
121- size_t bins = t[8 ].cast <size_t >();
122- size_t verbosity = t[9 ].cast <size_t >();
123- size_t max_interaction_level = t[10 ].cast <size_t >();
124- size_t max_interactions = t[11 ].cast <size_t >();
125- VectorXd validation_error_steps = t[12 ].cast <VectorXd>();
126- std::vector<std::string> term_names = t[13 ].cast <std::vector<std::string>>();
127- VectorXd term_coefficients = t[14 ].cast <VectorXd>();
128- std::vector<Term> terms = t[15 ].cast <std::vector<Term>>();
129- size_t interactions_eligible = t[16 ].cast <size_t >();
130- size_t min_observations_in_split = t[17 ].cast <size_t >();
131- size_t ineligible_boosting_steps_added = t[18 ].cast <size_t >();
132- size_t max_eligible_terms = t[19 ].cast <size_t >();
133- size_t number_of_base_terms = t[20 ].cast <size_t >();
134- VectorXd feature_importance = t[21 ].cast <VectorXd>();
135- double dispersion_parameter = t[22 ].cast <double >();
136- double min_training_prediction_or_response = t[23 ].cast <double >();
137- double max_training_prediction_or_response = t[24 ].cast <double >();
138- std::string validation_tuning_metric = t[25 ].cast <std::string>();
139- std::vector<size_t > validation_indexes = t[26 ].cast <std::vector<size_t >>();
140- double quantile = t[27 ].cast <double >();
141- size_t m_optimal = t[28 ].cast <size_t >();
142- VectorXd intercept_steps = t[29 ].cast <VectorXd>();
143- size_t boosting_steps_before_pruning_is_done = t[30 ].cast <size_t >();
112+ /* Create a new C++ instance */
113+ size_t m = t[0 ].cast <size_t >();
114+ double v = t[1 ].cast <double >();
115+ uint_fast32_t random_state = t[2 ].cast <uint_fast32_t >();
116+ std::string loss_function = t[3 ].cast <std::string>();
117+ std::string link_function = t[4 ].cast <std::string>();
118+ size_t n_jobs = t[5 ].cast <size_t >();
119+ double validation_ratio = t[6 ].cast <double >();
120+ double intercept = t[7 ].cast <double >();
121+ size_t bins = t[8 ].cast <size_t >();
122+ size_t verbosity = t[9 ].cast <size_t >();
123+ size_t max_interaction_level = t[10 ].cast <size_t >();
124+ size_t max_interactions = t[11 ].cast <size_t >();
125+ VectorXd validation_error_steps = t[12 ].cast <VectorXd>();
126+ std::vector<std::string> term_names = t[13 ].cast <std::vector<std::string>>();
127+ VectorXd term_coefficients = t[14 ].cast <VectorXd>();
128+ std::vector<Term> terms = t[15 ].cast <std::vector<Term>>();
129+ size_t interactions_eligible = t[16 ].cast <size_t >();
130+ size_t min_observations_in_split = t[17 ].cast <size_t >();
131+ size_t ineligible_boosting_steps_added = t[18 ].cast <size_t >();
132+ size_t max_eligible_terms = t[19 ].cast <size_t >();
133+ size_t number_of_base_terms = t[20 ].cast <size_t >();
134+ VectorXd feature_importance = t[21 ].cast <VectorXd>();
135+ double dispersion_parameter = t[22 ].cast <double >();
136+ double min_training_prediction_or_response = t[23 ].cast <double >();
137+ double max_training_prediction_or_response = t[24 ].cast <double >();
138+ std::string validation_tuning_metric = t[25 ].cast <std::string>();
139+ std::vector<size_t > validation_indexes = t[26 ].cast <std::vector<size_t >>();
140+ double quantile = t[27 ].cast <double >();
141+ size_t m_optimal = t[28 ].cast <size_t >();
142+ VectorXd intercept_steps = t[29 ].cast <VectorXd>();
143+ size_t boosting_steps_before_pruning_is_done = t[30 ].cast <size_t >();
144144
145- APLRRegressor a (m, v, random_state, loss_function, link_function, n_jobs, validation_ratio, 100 , bins, verbosity, max_interaction_level,
146- max_interactions, min_observations_in_split, ineligible_boosting_steps_added, max_eligible_terms, dispersion_parameter,
147- validation_tuning_metric, quantile);
148- a.intercept = intercept;
149- a.validation_error_steps = validation_error_steps;
150- a.term_names = term_names;
151- a.term_coefficients = term_coefficients;
152- a.terms = terms;
153- a.interactions_eligible = interactions_eligible;
154- a.number_of_base_terms = number_of_base_terms;
155- a.feature_importance = feature_importance;
156- a.min_training_prediction_or_response = min_training_prediction_or_response;
157- a.max_training_prediction_or_response = max_training_prediction_or_response;
158- a.validation_indexes = validation_indexes;
159- a.m_optimal = m_optimal;
160- a.intercept_steps = intercept_steps;
161- a.boosting_steps_before_pruning_is_done = boosting_steps_before_pruning_is_done;
145+ APLRRegressor a (m, v, random_state, loss_function, link_function, n_jobs, validation_ratio, 100 , bins, verbosity, max_interaction_level,
146+ max_interactions, min_observations_in_split, ineligible_boosting_steps_added, max_eligible_terms, dispersion_parameter,
147+ validation_tuning_metric, quantile);
148+ a.intercept = intercept;
149+ a.validation_error_steps = validation_error_steps;
150+ a.term_names = term_names;
151+ a.term_coefficients = term_coefficients;
152+ a.terms = terms;
153+ a.interactions_eligible = interactions_eligible;
154+ a.number_of_base_terms = number_of_base_terms;
155+ a.feature_importance = feature_importance;
156+ a.min_training_prediction_or_response = min_training_prediction_or_response;
157+ a.max_training_prediction_or_response = max_training_prediction_or_response;
158+ a.validation_indexes = validation_indexes;
159+ a.m_optimal = m_optimal;
160+ a.intercept_steps = intercept_steps;
161+ a.boosting_steps_before_pruning_is_done = boosting_steps_before_pruning_is_done;
162162
163- return a;
163+ return a;
164164 }));
165165
166166 py::class_<Term>(m, " Term" , py::module_local ())
0 commit comments