# Path: xam/preprocessing/binning/base.py
# class BaseSupervisedBinner(BaseBinner):
# 
#     def fit(X, y, **fit_params):
#         raise NotImplementedError


import collections
import math
import numpy as np
from scipy import stats
from sklearn.utils import check_X_y
from .base import BaseSupervisedBinner
"""
Minimum Description Length Principle (MDLP) binning

- Original paper: http://sci2s.ugr.es/keel/pdf/algorithm/congreso/fayyad1993.pdf
- Implementation inspiration: https://www.ibm.com/support/knowledgecenter/it/SSLVMB_21.0.0/com.ibm.spss.statistics.help/alg_optimal-binning.htm
"""






# Path: xam/preprocessing/binning/base.py
# class BaseSupervisedBinner(BaseBinner):
# 
#     def fit(X, y, **fit_params):
#         raise NotImplementedError


# Path: xam/preprocessing/binning/mdlp.py
import collections
import math
import numpy as np
from scipy import stats
from sklearn.utils import check_X_y
from .base import BaseSupervisedBinner

"""
Minimum Description Length Principle (MDLP) binning

- Original paper: http://sci2s.ugr.es/keel/pdf/algorithm/congreso/fayyad1993.pdf
- Implementation inspiration: https://www.ibm.com/support/knowledgecenter/it/SSLVMB_21.0.0/com.ibm.spss.statistics.help/alg_optimal-binning.htm
"""






class MDLPBinner(BaseSupervisedBinner):