Перейти к основному содержанию

categoricalInformationValue

Добавленный в: v20.1.0 Вычисляет информационную ценность (IV) для категориальных признаков относительно бинарной целевой переменной. Для каждой категории функция вычисляет: (P(tag = 1) - P(tag = 0)) × (log(P(tag = 1)) - log(P(tag = 0))) где:
  • P(tag = 1) — вероятность того, что целевая переменная равна 1 для данной категории
  • P(tag = 0) — вероятность того, что целевая переменная равна 0 для данной категории
Information Value — это статистический показатель, используемый для оценки силы связи категориального признака с бинарной целевой переменной в прогнозном моделировании. Чем выше абсолютное значение, тем сильнее предсказательная способность. Результат показывает, насколько каждый дискретный (категориальный) признак [category1, category2, ...] влияет на модель обучения, предсказывающую значение tag. Синтаксис
categoricalInformationValue(category1[, category2, ...,]tag)
Аргументы
  • category1, category2, ... — Один или несколько категориальных признаков для анализа. Каждая категория должна содержать дискретные значения. UInt8
  • tag — Бинарная целевая переменная для прогнозирования. Должна содержать значения 0 и 1. UInt8
Возвращаемое значение Возвращает массив значений Float64, представляющих информационную ценность для каждой уникальной комбинации категорий. Каждое значение показывает прогностическую силу соответствующей комбинации категорий для целевой переменной. Array(Float64) Примеры Базовое использование: анализ возрастных групп и использования мобильных устройств
Query
-- Использование набора данных metrica.hits (доступен на https://sql.clickhouse.com/) для анализа зависимости возраста и использования мобильных устройств
SELECT categoricalInformationValue(Age < 15, IsMobile)
FROM metrica.hits;
Response
[0.0014814694805292418]
Несколько категориальных признаков с демографическими характеристиками пользователей
Query
SELECT categoricalInformationValue(
    Sex,                 -- 0=мужской, 1=женский
    toUInt8(Age < 25),   -- 0=25+, 1=до 25
    toUInt8(IsMobile)    -- 0=десктоп, 1=мобильный
) AS iv_values
FROM metrica.hits
WHERE Sex IN (0, 1);
Response
[0.00018965785460692887,0.004973668839403392]
Последнее изменение 10 июня 2026 г.