I am try to run the example from https://gnpalencia.org/optbinning/tutorials/tutorial_binary.html since I kept getting the same problem on other projects, everything seems to be OK but I keep getting the same error: CHECK failed: target + size == res.
import numpy as np
import pandas as pd
from sklearn.datasets import load_breast_cancer
data = load_breast_cancer()
df = pd.DataFrame(data.data, columns=data.feature_names)
variable = "mean radius"
x = df[variable].values
y = data.target
from optbinning import OptimalBinning
optb = OptimalBinning(name=variable, dtype="numerical", solver="cp")
optb.fit(x, y)
And it doesn't run, keep getting the same error:
[libprotobuf FATAL google/protobuf/message_lite.cc:352] CHECK failed: target + size == res:
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
/var/folders/4p/4s70n3750fj3vnvrzyb4kyvm0000gn/T/ipykernel_3757/3994782521.py in <module>
----> 1 optb.fit(x, y)
~/opt/anaconda3/lib/python3.9/site-packages/optbinning/binning/binning.py in fit(self, x, y, sample_weight, check_input)
554 Fitted optimal binning.
555 """
--> 556 return self._fit(x, y, sample_weight, check_input)
557
558 def fit_transform(self, x, y, sample_weight=None, metric="woe",
~/opt/anaconda3/lib/python3.9/site-packages/optbinning/binning/binning.py in _fit(self, x, y, sample_weight, check_input)
826
827 # Optimization
--> 828 self._fit_optimizer(splits, n_nonevent, n_event)
829
830 # Post-processing
~/opt/anaconda3/lib/python3.9/site-packages/optbinning/binning/binning.py in _fit_optimizer(self, splits, n_nonevent, n_event)
1022 logger.info("Optimizer: solve...")
1023
-> 1024 status, solution = optimizer.solve()
1025
1026 self._solution = solution
~/opt/anaconda3/lib/python3.9/site-packages/optbinning/binning/cp.py in solve(self)
267 self.solver_.parameters.max_time_in_seconds = self.time_limit
268
--> 269 status = self.solver_.Solve(self.model) 270 status_name = self.solver.StatusName(status) 271
~/opt/anaconda3/lib/python3.9/site-packages/ortools/sat/python/cp_model.py in Solve(self, model, solution_callback)
2197
2198 self.__solution = cp_model_pb2.CpSolverResponse.FromString(
-> 2199 swig_helper.SolveWrapper.SerializedSolve(
2200 model.Proto().SerializeToString(), solve_wrapper))
2201
RuntimeError: CHECK failed: target + size == res: