Код Middle Признаки и интерпретация обновлено

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

Условие

Напишите target_encode(train_cats, train_y, test_cats, m): для каждой категории посчитайте (сумма y + m·глобальное_среднее) / (число объектов + m) по трейну и примените к test_cats. Невиданная категория получает глобальное среднее. Верните список, значения округлены до 4 знаков.

Примеры

target_encode(["a", "a", "b", "b", "b", "c"], [1, 1, 0, 0, 1, 0], ["a", "b", "c", "d"], 0) // [1, 0.3333, 0, 0.5]
target_encode(["a", "a", "b", "b", "b", "c"], [1, 1, 0, 0, 1, 0], ["a", "c"], 2) // [0.75, 0.3333]
target_encode(["x"], [5], ["x", "y"], 1) // [5, 5]

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.