Skip to content

Commit 0069510

Browse files
bugfix
1 parent 2f90657 commit 0069510

File tree

3 files changed

+7
-1
lines changed

3 files changed

+7
-1
lines changed

cpp/term.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -508,6 +508,9 @@ void Term::estimate_split_point_on_discretized_data()
508508
for (auto bin = bins_split_points_left.rbegin(); bin != bins_split_points_left.rend(); ++bin)
509509
{
510510
split_point = *bin;
511+
bool unusable_split_point{is_approximately_equal(split_point, sorted_vectors.values_sorted[0])};
512+
if (unusable_split_point)
513+
continue;
511514
direction_right = false;
512515
estimate_coefficient_and_error(calculate_without_interactions(values_discretized), negative_gradient_discretized, sample_weight_discretized);
513516
if (std::isless(split_point_search_errors_sum, error_min_left))
@@ -522,6 +525,9 @@ void Term::estimate_split_point_on_discretized_data()
522525
for (auto &bin : bins_split_points_right)
523526
{
524527
split_point = bin;
528+
bool unusable_split_point{is_approximately_equal(split_point, sorted_vectors.values_sorted[sorted_vectors.values_sorted.size() - 1])};
529+
if (unusable_split_point)
530+
continue;
525531
direction_right = true;
526532
estimate_coefficient_and_error(calculate_without_interactions(values_discretized), negative_gradient_discretized, sample_weight_discretized);
527533
if (std::isless(split_point_search_errors_sum, error_min_right))
Binary file not shown.

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
setuptools.setup(
2323
name="aplr",
24-
version="9.4.2",
24+
version="9.4.3",
2525
description="Automatic Piecewise Linear Regression",
2626
ext_modules=[sfc_module],
2727
author="Mathias von Ottenbreit",

0 commit comments

Comments
 (0)