Skip to content

Commit f0928ea

Browse files
hyperparams
1 parent 399da03 commit f0928ea

File tree

6 files changed

+22
-22
lines changed

6 files changed

+22
-22
lines changed

API_REFERENCE_FOR_CLASSIFICATION.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# APLRClassifier
22

3-
## class aplr.APLRClassifier(m:int=9000, v:float=0.1, random_state:int=0, n_jobs:int=0, validation_ratio:float=0.2, bins:int=100, verbosity:int=0, max_interaction_level:int=1, max_interactions:int=100000, min_observations_in_split:int=20, ineligible_boosting_steps_added:int=20, max_eligible_terms:int=10, boosting_steps_before_pruning_is_done:int = 0, boosting_steps_before_interactions_are_allowed: int = 0)
3+
## class aplr.APLRClassifier(m:int=9000, v:float=0.1, random_state:int=0, n_jobs:int=0, validation_ratio:float=0.2, bins:int=300, verbosity:int=0, max_interaction_level:int=1, max_interactions:int=100000, min_observations_in_split:int=20, ineligible_boosting_steps_added:int=10, max_eligible_terms:int=5, boosting_steps_before_pruning_is_done:int = 0, boosting_steps_before_interactions_are_allowed: int = 0)
44

55
### Constructor parameters
66

@@ -19,7 +19,7 @@ Multi-threading parameter. If ***0*** then uses all available cores for multi-th
1919
#### validation_ratio (default = 0.2)
2020
The ratio of training observations to use for validation instead of training. The number of boosting steps is automatically tuned to minimize validation error.
2121

22-
#### bins (default = 100)
22+
#### bins (default = 300)
2323
Specifies the maximum number of bins to discretize the data into when searching for the best split. The default value works well according to empirical results. This hyperparameter is intended for reducing computational costs. Must be greater than 1.
2424

2525
#### verbosity (default = 0)
@@ -34,10 +34,10 @@ The maximum number of interactions allowed. A lower value may be used to reduce
3434
#### min_observations_in_split (default = 20)
3535
The minimum effective number of observations that a term in the model must rely on. This hyperparameter should be tuned. Larger values are more appropriate for larger datasets. Larger values result in more robust models (lower variance), potentially at the expense of increased bias.
3636

37-
#### ineligible_boosting_steps_added (default = 20)
37+
#### ineligible_boosting_steps_added (default = 10)
3838
Controls how many boosting steps a term that becomes ineligible has to remain ineligible. The default value works well according to empirical results. This hyperparameter is intended for reducing computational costs.
3939

40-
#### max_eligible_terms (default = 10)
40+
#### max_eligible_terms (default = 5)
4141
Limits 1) the number of terms already in the model that can be considered as interaction partners in a boosting step and 2) how many terms remain eligible in the next boosting step. The default value works well according to empirical results. This hyperparameter is intended for reducing computational costs.
4242

4343
#### boosting_steps_before_pruning_is_done (default = 0)

API_REFERENCE_FOR_REGRESSION.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# APLRRegressor
22

3-
## class aplr.APLRRegressor(m:int=1000, v:float=0.1, random_state:int=0, loss_function:str="mse", link_function:str="identity", n_jobs:int=0, validation_ratio:float=0.2, bins:int=100, max_interaction_level:int=1, max_interactions:int=100000, min_observations_in_split:int=20, ineligible_boosting_steps_added:int=20, max_eligible_terms:int=10, verbosity:int=0, dispersion_parameter:float=1.5, validation_tuning_metric:str="default", quantile:float=0.5, calculate_custom_validation_error_function:Optional[Callable[[npt.ArrayLike, npt.ArrayLike, npt.ArrayLike, npt.ArrayLike, npt.ArrayLike], float]]=None, calculate_custom_loss_function:Optional[Callable[[npt.ArrayLike, npt.ArrayLike, npt.ArrayLike, npt.ArrayLike, npt.ArrayLike], float]]=None, calculate_custom_negative_gradient_function:Optional[Callable[[npt.ArrayLike, npt.ArrayLike, npt.ArrayLike, npt.ArrayLike], npt.ArrayLike]]=None, calculate_custom_transform_linear_predictor_to_predictions_function:Optional[Callable[[npt.ArrayLike], npt.ArrayLike]]=None, calculate_custom_differentiate_predictions_wrt_linear_predictor_function:Optional[Callable[[npt.ArrayLike], npt.ArrayLike]]=None, boosting_steps_before_pruning_is_done: int = 0, boosting_steps_before_interactions_are_allowed: int = 0)
3+
## class aplr.APLRRegressor(m:int=1000, v:float=0.1, random_state:int=0, loss_function:str="mse", link_function:str="identity", n_jobs:int=0, validation_ratio:float=0.2, bins:int=300, max_interaction_level:int=1, max_interactions:int=100000, min_observations_in_split:int=20, ineligible_boosting_steps_added:int=10, max_eligible_terms:int=5, verbosity:int=0, dispersion_parameter:float=1.5, validation_tuning_metric:str="default", quantile:float=0.5, calculate_custom_validation_error_function:Optional[Callable[[npt.ArrayLike, npt.ArrayLike, npt.ArrayLike, npt.ArrayLike, npt.ArrayLike], float]]=None, calculate_custom_loss_function:Optional[Callable[[npt.ArrayLike, npt.ArrayLike, npt.ArrayLike, npt.ArrayLike, npt.ArrayLike], float]]=None, calculate_custom_negative_gradient_function:Optional[Callable[[npt.ArrayLike, npt.ArrayLike, npt.ArrayLike, npt.ArrayLike], npt.ArrayLike]]=None, calculate_custom_transform_linear_predictor_to_predictions_function:Optional[Callable[[npt.ArrayLike], npt.ArrayLike]]=None, calculate_custom_differentiate_predictions_wrt_linear_predictor_function:Optional[Callable[[npt.ArrayLike], npt.ArrayLike]]=None, boosting_steps_before_pruning_is_done: int = 0, boosting_steps_before_interactions_are_allowed: int = 0)
44

55
### Constructor parameters
66

@@ -25,7 +25,7 @@ Multi-threading parameter. If ***0*** then uses all available cores for multi-th
2525
#### validation_ratio (default = 0.2)
2626
The ratio of training observations to use for validation instead of training. The number of boosting steps is automatically tuned to minimize validation error.
2727

28-
#### bins (default = 100)
28+
#### bins (default = 300)
2929
Specifies the maximum number of bins to discretize the data into when searching for the best split. The default value works well according to empirical results. This hyperparameter is intended for reducing computational costs. Must be greater than 1.
3030

3131
#### max_interaction_level (default = 1)
@@ -37,10 +37,10 @@ The maximum number of interactions allowed. A lower value may be used to reduce
3737
#### min_observations_in_split (default = 20)
3838
The minimum effective number of observations that a term in the model must rely on. This hyperparameter should be tuned. Larger values are more appropriate for larger datasets. Larger values result in more robust models (lower variance), potentially at the expense of increased bias.
3939

40-
#### ineligible_boosting_steps_added (default = 20)
40+
#### ineligible_boosting_steps_added (default = 10)
4141
Controls how many boosting steps a term that becomes ineligible has to remain ineligible. The default value works well according to empirical results. This hyperparameter is intended for reducing computational costs.
4242

43-
#### max_eligible_terms (default = 10)
43+
#### max_eligible_terms (default = 5)
4444
Limits 1) the number of terms already in the model that can be considered as interaction partners in a boosting step and 2) how many terms remain eligible in the next boosting step. The default value works well according to empirical results. This hyperparameter is intended for reducing computational costs.
4545

4646
#### verbosity (default = 0)

aplr/aplr.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ def __init__(
1414
link_function: str = "identity",
1515
n_jobs: int = 0,
1616
validation_ratio: float = 0.2,
17-
bins: int = 100,
17+
bins: int = 300,
1818
max_interaction_level: int = 1,
1919
max_interactions: int = 100000,
2020
min_observations_in_split: int = 20,
21-
ineligible_boosting_steps_added: int = 20,
22-
max_eligible_terms: int = 10,
21+
ineligible_boosting_steps_added: int = 10,
22+
max_eligible_terms: int = 5,
2323
verbosity: int = 0,
2424
dispersion_parameter: float = 1.5,
2525
validation_tuning_metric: str = "default",
@@ -272,13 +272,13 @@ def __init__(
272272
random_state: int = 0,
273273
n_jobs: int = 0,
274274
validation_ratio: float = 0.2,
275-
bins: int = 100,
275+
bins: int = 300,
276276
verbosity: int = 0,
277277
max_interaction_level: int = 1,
278278
max_interactions: int = 100000,
279279
min_observations_in_split: int = 20,
280-
ineligible_boosting_steps_added: int = 20,
281-
max_eligible_terms: int = 10,
280+
ineligible_boosting_steps_added: int = 10,
281+
max_eligible_terms: int = 5,
282282
boosting_steps_before_pruning_is_done: int = 0,
283283
boosting_steps_before_interactions_are_allowed: int = 0,
284284
):

cpp/APLRClassifier.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ class APLRClassifier
4646
size_t boosting_steps_before_interactions_are_allowed;
4747

4848
APLRClassifier(size_t m = 9000, double v = 0.1, uint_fast32_t random_state = std::numeric_limits<uint_fast32_t>::lowest(), size_t n_jobs = 0,
49-
double validation_ratio = 0.2, size_t reserved_terms_times_num_x = 100, size_t bins = 100, size_t verbosity = 0, size_t max_interaction_level = 1,
50-
size_t max_interactions = 100000, size_t min_observations_in_split = 20, size_t ineligible_boosting_steps_added = 20, size_t max_eligible_terms = 10,
49+
double validation_ratio = 0.2, size_t reserved_terms_times_num_x = 100, size_t bins = 300, size_t verbosity = 0, size_t max_interaction_level = 1,
50+
size_t max_interactions = 100000, size_t min_observations_in_split = 20, size_t ineligible_boosting_steps_added = 10, size_t max_eligible_terms = 5,
5151
size_t boosting_steps_before_pruning_is_done = 0, size_t boosting_steps_before_interactions_are_allowed = 0);
5252
APLRClassifier(const APLRClassifier &other);
5353
~APLRClassifier();

cpp/APLRRegressor.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,8 @@ class APLRRegressor
158158

159159
APLRRegressor(size_t m = 1000, double v = 0.1, uint_fast32_t random_state = std::numeric_limits<uint_fast32_t>::lowest(), std::string loss_function = "mse",
160160
std::string link_function = "identity", size_t n_jobs = 0, double validation_ratio = 0.2,
161-
size_t reserved_terms_times_num_x = 100, size_t bins = 100, size_t verbosity = 0, size_t max_interaction_level = 1, size_t max_interactions = 100000,
162-
size_t min_observations_in_split = 20, size_t ineligible_boosting_steps_added = 20, size_t max_eligible_terms = 10, double dispersion_parameter = 1.5,
161+
size_t reserved_terms_times_num_x = 100, size_t bins = 300, size_t verbosity = 0, size_t max_interaction_level = 1, size_t max_interactions = 100000,
162+
size_t min_observations_in_split = 20, size_t ineligible_boosting_steps_added = 10, size_t max_eligible_terms = 5, double dispersion_parameter = 1.5,
163163
std::string validation_tuning_metric = "default", double quantile = 0.5,
164164
const std::function<double(VectorXd, VectorXd, VectorXd, VectorXi, MatrixXd)> &calculate_custom_validation_error_function = {},
165165
const std::function<double(VectorXd, VectorXd, VectorXd, VectorXi, MatrixXd)> &calculate_custom_loss_function = {},

cpp/pythonbinding.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ PYBIND11_MODULE(aplr_cpp, m)
2828
int &, int &>(),
2929
py::arg("m") = 1000, py::arg("v") = 0.1, py::arg("random_state") = 0, py::arg("loss_function") = "mse", py::arg("link_function") = "identity",
3030
py::arg("n_jobs") = 0, py::arg("validation_ratio") = 0.2,
31-
py::arg("reserved_terms_times_num_x") = 100, py::arg("bins") = 100, py::arg("verbosity") = 0,
31+
py::arg("reserved_terms_times_num_x") = 100, py::arg("bins") = 300, py::arg("verbosity") = 0,
3232
py::arg("max_interaction_level") = 1, py::arg("max_interactions") = 100000, py::arg("min_observations_in_split") = 20,
33-
py::arg("ineligible_boosting_steps_added") = 20, py::arg("max_eligible_terms") = 10,
33+
py::arg("ineligible_boosting_steps_added") = 10, py::arg("max_eligible_terms") = 5,
3434
py::arg("dispersion_parameter") = 1.5,
3535
py::arg("validation_tuning_metric") = "default",
3636
py::arg("quantile") = 0.5,
@@ -206,9 +206,9 @@ PYBIND11_MODULE(aplr_cpp, m)
206206
py::class_<APLRClassifier>(m, "APLRClassifier", py::module_local())
207207
.def(py::init<int &, double &, int &, int &, double &, int &, int &, int &, int &, int &, int &, int &, int &, int &, int &>(),
208208
py::arg("m") = 9000, py::arg("v") = 0.1, py::arg("random_state") = 0, py::arg("n_jobs") = 0, py::arg("validation_ratio") = 0.2,
209-
py::arg("reserved_terms_times_num_x") = 100, py::arg("bins") = 100, py::arg("verbosity") = 0,
209+
py::arg("reserved_terms_times_num_x") = 100, py::arg("bins") = 300, py::arg("verbosity") = 0,
210210
py::arg("max_interaction_level") = 1, py::arg("max_interactions") = 100000, py::arg("min_observations_in_split") = 20,
211-
py::arg("ineligible_boosting_steps_added") = 20, py::arg("max_eligible_terms") = 10, py::arg("boosting_steps_before_pruning_is_done") = 0,
211+
py::arg("ineligible_boosting_steps_added") = 10, py::arg("max_eligible_terms") = 5, py::arg("boosting_steps_before_pruning_is_done") = 0,
212212
py::arg("boosting_steps_before_interactions_are_allowed") = 0)
213213
.def("fit", &APLRClassifier::fit, py::arg("X"), py::arg("y"), py::arg("sample_weight") = VectorXd(0), py::arg("X_names") = std::vector<std::string>(),
214214
py::arg("validation_set_indexes") = std::vector<size_t>(), py::arg("prioritized_predictors_indexes") = std::vector<size_t>(),

0 commit comments

Comments
 (0)