> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-vortex-format.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Calcule la valeur de `(P(tag = 1) - P(tag = 0))(log(P(tag = 1)) - log(P(tag = 0)))` pour chaque catégorie.

# categoricalInformationValue

<div id="categoricalInformationValue">
  ## categoricalInformationValue
</div>

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**

```sql theme={null}
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`](/fr/reference/data-types/int-uint)
* `tag` — Variable cible binaire pour la prédiction. Elle doit contenir les valeurs 0 et 1. [`UInt8`](/fr/reference/data-types/int-uint)

**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)`](/fr/reference/data-types/array)

**Exemples**

**Utilisation de base : analyse des groupes d'âge par rapport à l'usage mobile**

```sql title=Query theme={null}
CREATE TABLE visits (is_young UInt8, is_female UInt8, is_mobile UInt8) ENGINE = Memory;

-- 80 of the 100 young visitors browse on a mobile device, and only 20 of the 100 older ones do,
-- while the sex of a visitor says nothing about the device.
INSERT INTO visits SELECT 1, number % 2, number < 80 FROM numbers(100);
INSERT INTO visits SELECT 0, number % 2, number < 20 FROM numbers(100);

SELECT round(categoricalInformationValue(is_young, is_mobile)[1], 4) AS iv FROM visits;
```

```response title=Response theme={null}
┌─────iv─┐
│ 0.8318 │
└────────┘
```

**Plusieurs variables catégorielles avec des données démographiques utilisateur**

```sql title=Query theme={null}
-- The age of a visitor predicts the device, the sex of a visitor does not.
SELECT arrayMap(x -> round(x, 4), categoricalInformationValue(is_young, is_female, is_mobile)) AS iv
FROM visits;
```

```response title=Response theme={null}
┌─iv─────────┐
│ [0.8318,0] │
└────────────┘
```
