Passer au contenu principal

categoricalInformationValue

Introduit dans : v20.1.0 Calcule la valeur d’information (IV) pour des variables explicatives catégorielles par rapport à une variable cible binaire. Pour chaque catégorie, la fonction calcule : (P(tag = 1) - P(tag = 0)) × (log(P(tag = 1)) - log(P(tag = 0))) où :
  • P(tag = 1) est la probabilité que la cible soit égale à 1 pour la catégorie donnée
  • P(tag = 0) est la probabilité que la cible soit égale à 0 pour la catégorie donnée
La valeur d’information est une statistique utilisée pour mesurer la force de la relation entre une variable explicative catégorielle et une variable cible binaire dans le cadre de la modélisation prédictive. Des valeurs absolues plus élevées indiquent un pouvoir prédictif plus important. Le résultat indique dans quelle mesure chaque variable discrète (catégorielle) [category1, category2, ...] contribue à un modèle d’apprentissage qui prédit la valeur de tag. Syntaxe
categoricalInformationValue(category1[, category2, ...,]tag)
Arguments
  • category1, category2, ... — Une ou plusieurs caractéristiques catégorielles à analyser. Chaque catégorie doit contenir des valeurs discrètes. UInt8
  • tag — Variable cible binaire pour la prédiction. Elle doit contenir les valeurs 0 et 1. UInt8
Valeur renvoyée Renvoie un tableau de valeurs Float64 représentant la valeur d’information pour chaque combinaison unique de catégories. Chaque valeur indique le pouvoir prédictif de cette combinaison de catégories pour la variable cible. Array(Float64) Exemples Utilisation de base : analyse des groupes d’âge par rapport à l’usage mobile
Query
-- Using the metrica.hits dataset (available on https://sql.clickhouse.com/) to analyze age-mobile relationship
SELECT categoricalInformationValue(Age < 15, IsMobile)
FROM metrica.hits;
Response
[0.0014814694805292418]
Plusieurs variables catégorielles avec des données démographiques utilisateur
Query
SELECT categoricalInformationValue(
    Sex,                 -- 0=male, 1=female
    toUInt8(Age < 25),   -- 0=25+, 1=under 25
    toUInt8(IsMobile)    -- 0=desktop, 1=mobile
) AS iv_values
FROM metrica.hits
WHERE Sex IN (0, 1);
Response
[0.00018965785460692887,0.004973668839403392]
Dernière modification le 29 juin 2026