# Path: xam/preprocessing/binning/equal_frequency.py
# class EqualFrequencyBinner(BaseUnsupervisedBinner):
# 
#     def __init__(self, n_bins=5):
# 
#         super().__init__()
# 
#         # Properties
#         self.n_bins = n_bins
# 
#     def fit(self, X, y=None, **fit_params):
#         """Choose equally spaces cut points."""
# 
#         # scikit-learn checks
#         X = check_array(X)
# 
#         step = 100 / self.n_bins
# 
#         self.cut_points_ = np.stack([
#             np.percentile(X, q, axis=0)
#             for q in np.arange(start=step, stop=100, step=step)
#         ], axis=-1).tolist()
# 
#         return self
# 
#     @property
#     def cut_points(self):
#         return self.cut_points_


import numpy as np
import pandas as pd
from .binning.equal_frequency import EqualFrequencyBinner



class DistributionResampler():

    def __init__(self, column=0, sample_frac=0.5, n_bins=100, seed=None):
        super().__init__()
        self.column = column
        self.sample_frac = sample_frac

# Path: xam/preprocessing/binning/equal_frequency.py
# class EqualFrequencyBinner(BaseUnsupervisedBinner):
# 
#     def __init__(self, n_bins=5):
# 
#         super().__init__()
# 
#         # Properties
#         self.n_bins = n_bins
# 
#     def fit(self, X, y=None, **fit_params):
#         """Choose equally spaces cut points."""
# 
#         # scikit-learn checks
#         X = check_array(X)
# 
#         step = 100 / self.n_bins
# 
#         self.cut_points_ = np.stack([
#             np.percentile(X, q, axis=0)
#             for q in np.arange(start=step, stop=100, step=step)
#         ], axis=-1).tolist()
# 
#         return self
# 
#     @property
#     def cut_points(self):
#         return self.cut_points_


# Path: xam/preprocessing/resampling.py
import numpy as np
import pandas as pd
from .binning.equal_frequency import EqualFrequencyBinner




class DistributionResampler():

    def __init__(self, column=0, sample_frac=0.5, n_bins=100, seed=None):
        super().__init__()
        self.column = column
        self.sample_frac = sample_frac

        self.binner = EqualFrequencyBinner(n_bins=n_bins)