Binning числовых фичей (quantile)

MediumPython
05:00
Лучше работает на десктопе
Feature Engineeringbinningquantileдискретизация

Реализуйте квантильный биннинг числовой фичи.

Разделите значения на 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]}

Примеры

Пример 1

Вход:
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]}

Пример 2

Вход:
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]}

Пример 3

Вход:
values = [100,200,300,400]
n_bins = 2
Выход:{"bin_edges":[100,250,400],"bins":[0,0,1,1]}
Консоль
Нажмите Run или Ctrl+Enter для запуска