К задачам

Target Encoding со сглаживанием

СложнаяАлгоритмы
Лучше работает на десктопе
Подготовка признаковtarget encodingsmoothingрегуляризация

Реализуйте Target Encoding с регуляризацией (smoothing).

encoding = (count × category_mean + smooth × global_mean) / (count + smooth)

Задача основана на вопросах с собеседований в Сбер.

Сигнатура

def target_encode(categories: list[str], targets: list[float], smooth: float) -> list[float]:

Результат округлён до 4 знаков.

Примеры

Пример 1

Вход:
categories = ["A","B","A","B","A","C"]
targets = [1,0,1,0,0,1]
smooth = 1
Выход:[0.625,0.1667,0.625,0.1667,0.625,0.75]

Пример 2

Вход:
categories = ["X","X","X","Y","Y"]
targets = [10,20,30,40,50]
smooth = 2
Выход:[24,24,24,37.5,37.5]

Пример 3

Вход:
categories = ["A","B","C"]
targets = [1,0,1]
smooth = 0
Выход:[1,0,1]
Код
Python · Ctrl/⌘ + Enter для запуска
Лимит
10:00
Консоль
Нажмите кнопку запуска или Ctrl+Enter
Target Encoding с smoothing — ML-задачи задача — ML Mentor