> ## 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.

> Calcula el valor de `(P(tag = 1) - P(tag = 0))(log(P(tag = 1)) - log(P(tag = 0)))` para cada categoría.

# categoricalInformationValue

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

Introducido en: v20.1.0

Calcula el valor de la información (IV) para variables categóricas en relación con una variable objetivo binaria.

Para cada categoría, la función calcula: `(P(tag = 1) - P(tag = 0)) × (log(P(tag = 1)) - log(P(tag = 0)))`

donde:

* P(tag = 1) es la probabilidad de que el objetivo sea igual a 1 para la categoría dada
* P(tag = 0) es la probabilidad de que el objetivo sea igual a 0 para la categoría dada

El valor de la información es una estadística que se utiliza para medir la intensidad de la relación entre una variable categórica y una variable objetivo binaria en el modelado predictivo.
Valores absolutos más altos indican una mayor capacidad predictiva.

El resultado indica cuánto contribuye cada variable discreta (categórica) `[category1, category2, ...]` a un modelo de aprendizaje que predice el valor de `tag`.

**Sintaxis**

```sql theme={null}
categoricalInformationValue(category1[, category2, ...,]tag)
```

**Argumentos**

* `category1, category2, ...` — Una o más características categóricas para analizar. Cada categoría debe contener valores discretos. [`UInt8`](/es/reference/data-types/int-uint)
* `tag` — Variable objetivo binaria para la predicción. Debe contener los valores 0 y 1. [`UInt8`](/es/reference/data-types/int-uint)

**Valor devuelto**

Devuelve un Array de valores Float64 que representa el valor de información de cada combinación única de categorías. Cada valor indica la capacidad predictiva de esa combinación de categorías para la variable objetivo. [`Array(Float64)`](/es/reference/data-types/array)

**Ejemplos**

**Uso básico para analizar grupos de edad frente al uso de dispositivos móviles**

```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 │
└────────┘
```

**Múltiples variables categóricas con datos demográficos de los usuarios**

```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] │
└────────────┘
```
