Вступить в клуб →
средняяpythonПризнаки и градиентный бустинг

WoE и IV признака по заданным бинам

Напишите woe_iv(bins) — расчёт Weight of Evidence и Information Value для скоринга.

  • bins — список пар (goods, bads): число «хороших» и «плохих» клиентов в каждом бине.
  • Для бина: dist_good = goods / всего_хороших, dist_bad = bads / всего_плохих, WoE = ln(dist_good / dist_bad), вклад в IV — (dist_good − dist_bad) × WoE.
  • Если в бине 0 хороших или 0 плохих, прибавьте 0,5 к обоим счётчикам этого бина перед расчётом долей (итоги считаются по исходным значениям).
  • Верните кортеж (woes, iv): список WoE по бинам и IV, всё округлено до 4 знаков.

заготовка решения

import math


def woe_iv(bins):
    # ваш код
    return None

🔒 Проверка ответа — для участников клуба

  • Автотесты прямо в браузере
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела