0

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: 
dellen
  • 1

0 Answers0