Реализуйте квантильный биннинг числовой фичи.
Разделите значения на n_bins корзин на основе квантилей. Присвойте каждому значению номер корзины (0-indexed).
def quantile_binning(values: list[float], n_bins: int) -> dict:
Верните dict:
- bin_edges: границы корзин (n_bins + 1 значений, округлить до 2 знаков)
- bins: номера корзин для каждого значения
quantile_binning([10,20,30,40,50,60,70,80,90,100], 4)
→ {"bin_edges": [10.0, 32.5, 55.0, 77.5, 100.0], "bins": [0,0,0,1,1,2,2,3,3,3]}values = [10,20,30,40,50,60,70,80,90,100]n_bins = 4{"bin_edges":[10,32.5,55,77.5,100],"bins":[0,0,0,1,1,2,2,3,3,3]}values = [1,2,3,4,5,6]n_bins = 3{"bin_edges":[1,2.67,4.33,6],"bins":[0,0,1,1,2,2]}values = [100,200,300,400]n_bins = 2{"bin_edges":[100,250,400],"bins":[0,0,1,1]}