# Ejemplo - Análisis hipotético con el conector de análisis de Qlik Predict

En este ejemplo, configurará un análisis hipotético para simular cómo cambian los valores predichos cuando se ajustan diferentes variables. El ejemplo implica entrenar e implementar un modelo de clasificación binaria en Qlik Predict, y usarlo para crear predicciones con el conector de análisis de Qlik Predict.

Aplicación de análisis hipotético

Aplicación de análisis hipotético

Aplicación de análisis hipotético ![Resultado del análisis hipotético](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Resources/Images/what-if-analysis.png)

## Antes de comenzar:

### Descargar materiales de ejemplo

Descargue los recursos de ejemplo aquí:

[WhatIfAnalysisExample.zip](https://help.qlik.com/es-ES/cloud-services/tutorials/WhatIfAnalysisExample.zip)

Los materiales consisten en:

* Un conjunto de datos de entrenamiento: data-turnover-employees.xlsx. Este conjunto de datos se utiliza tanto para el entrenamiento como para las predicciones del ejemplo.

* Una aplicación: What-If Analysis.qvf. La aplicación no se puede usar para generar predicciones sin antes entrenar e implementar un modelo.

### Requisitos previos

Antes de empezar, asegúrese de que:

* Su suscripción Qlik Cloud puede ejecutar predicciones en tiempo real. Consulte lo siguiente o póngase en contacto con el propietario de la cuenta de servicio del espacio empresarial inquilino.

  * [Precios de Qlik](https://www.qlik.com/us/pricing)

  * [Suscripciones a Qlik Cloud®](https://www.qlik.com/us/legal/product-terms)

* Su administrador del espacio empresarial inquilino debe haber habilitado los puntos de conexión de aprendizaje automático.

  [Habilitar extremos de conexión de ML en Qlik Cloud](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-qlik-automl-connector-overview.htm#EnableMLEndpoints)

* Tiene los permisos necesarios que le ha asignado un administrador del espacio empresarial inquilino:

  * El permiso Conexiones de datos establecido en Permitido.

    [Asignación de permisos a los usuarios para trabajar con conexiones de datos](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/Admin/mc-administer-data-connections.htm#Permissions)

  * Permisos para trabajar con experimentos.

    [Acceso de los usuarios a los experimentos de ML](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/who-can-work-with-automl.htm#AccessExperiment)

  * Permisos para trabajar con implementaciones y para trabajar con el conector de análisis de Qlik Predict.

    [Acceso de los usuarios a las implementaciones y predicciones de ML](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/who-can-work-with-automl.htm#AccessDeployment)

## Parte 1: Cargar el conjunto de datos

Haga lo siguiente:

1. Vaya a la página Crear del centro de actividades de Analítica y seleccione Conjunto de datos.

2. Haga clic en Cargar archivo de datos.

3. Arrastre y suelte el archivo de datos data-turnover-employees.xlsx en el cuadro de diálogo Añadir archivo.

4. Seleccione un espacio de destino para el archivo. Puede ser su espacio personal o un espacio compartido. Utilice el mismo espacio para todos los activos del tutorial.

5. Haga clic en Cargar.

## Parte 2: Entrenar el experimento

Crear, configurar y ejecutar un experimento para entrenar un modelo de clasificación binaria. Todas las características disponibles se incluirán de forma predeterminada.

Haga lo siguiente:

1. Vaya a la página Crear del centro de actividades Analítica y seleccione Experimento de ML.

2. Indique un nombre para el experimento, por ejemplo, Análisis de rotación de empleados.

3. Elija un espacio para el experimento (utilice el mismo espacio que usó en [Parte 1: Cargar el conjunto de datos](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Upload)).

4. Haga clic en Crear.

5. Seleccione el archivo de conjunto de datos de entrenamiento data-turnover-employees.xlsx.

6. Seleccione la columna left como destino. Esta es una columna que indica si un empleado abandonó la empresa o no.

7. Haga clic en Ejecutar experimento.

## Parte 3: Implementar y activar el modelo de mejor rendimiento

### Implementación

Una vez completado el entrenamiento del experimento, accederá a la pestaña Modelos. Implemente el modelo de mejor rendimiento como una implementación de ML.

Haga lo siguiente:

1. Haga clic en the Menú de tres puntos icon junto al modelo que tenga un icono the Trofeo icon al lado.

2. Haga clic en the Implementar icon .

3. Seleccione la opción para implementar el modelo en Una nueva implementación.

4. Escriba un nombre para su implementación, como Predicciones de rotación de empleados.

5. Si es necesario, ajuste el espacio, la descripción y las etiquetas.

6. Active Habilitar el acceso a la API en tiempo real. Esto es necesario para ejecutar predicciones con el conector de análisis de Qlik Predict.

7. Haga clic en Crear.

### Activación

Abra la implementación recién creada.

En la parte superior de la interfaz de implementación de ML, un banner indica que un aprobador de modelos debe activar el modelo predeterminado para realizar predicciones.

Haga lo siguiente:

1. En el banner de la parte superior de la implementación de ML, haga clic en Activar modelo.

2. En el diálogo que se abre, haga clic en Activar modelo para confirmarlo.

## Parte 4: Crear una conexión al conector de análisis Qlik Predict

A continuación, creará una conexión al conector de análisis Qlik Predict. Esto le permitirá generar predicciones sobre la marcha dentro de la aplicación de análisis.

Haga lo siguiente:

1. Vaya a la página Crear del centro de actividades Analítica y seleccione Conexión de datos.

2. En Espacio, seleccione el mismo espacio que utilizó en [Parte 1: Cargar el conjunto de datos](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Upload).

3. Seleccione el conector Qlik Predict.

4. Seleccione la implementación de ML que creó en [Parte 3: Implementar y activar el modelo de mejor rendimiento](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Deploy).

5. Escriba el siguiente Nombre: MLModel.

6. Haga clic en Crear.

## Parte 5: Cargar la aplicación de análisis

Cargue la aplicación de análisis que descargó en [Descargar materiales de ejemplo](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Download).

Haga lo siguiente:

1. Vaya a la página Crear del centro de actividades Analítica.

2. En Datos y carga, seleccione Cargar.

3. Arrastre la aplicación What-If Analysis.qvf al cuadro de diálogo.

4. En Espacio, seleccione el mismo espacio que utilizó en [Parte 1: Cargar el conjunto de datos](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Upload) y [Parte 4: Crear una conexión al conector de análisis Qlik Predict](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Connection).

5. Haga clic en Cargar.

Después de cargar la aplicación, ábrala y, a continuación, abra la hoja de What-If Analysis.

Nota informativaLa aplicación está preconfigurada, por lo que no es necesario añadir hojas ni expresiones. Sin embargo, cada paso se detalla en [Entender la aplicación](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Understanding).

## Explorar los resultados

Ahora tiene la hoja What-If Analysis abierta en la aplicación.

Haga lo siguiente:

1. Seleccione un único valor de empleado en el campo employee\_number. Aparece un valor en el KPI Risk of Turnover.

2. Ajuste los controles deslizantes debajo del KPI. Con cada ajuste, se realiza una simulación para predecir el riesgo de rotación de empleados.

Análisis hipotético con un solo empleado seleccionado y las variables ajustadas.

Análisis hipotético con un solo empleado seleccionado y las variables ajustadas.

Análisis hipotético con un solo empleado seleccionado y las variables ajustadas. ![Resultado del análisis hipotético](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Resources/Images/what-if-analysis.png)

## Entender la aplicación

### Datos cargados

El conjunto de datos de entrenamiento utilizado en [Parte 2: Entrenar el experimento](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Train) se emplea como los datos de la aplicación. En escenarios del mundo real, esto no siempre es así.

### Variables de hoja

Las siguientes variables se crearon, cada una con una definición predeterminada en blanco. La definición se deja en blanco porque los valores de las variables se actualizan sobre la marcha durante el análisis.

Variables para el análisis hipotético

| Nombre de variable | Función del modelo que representa | Definición predeterminada de la variable |
| --- | --- | --- |
| vSatisfactionLevel | satisfaction\_level | - |
| vTimeSpent | time\_spend\_company | - |
| vNumberOfProjects | number\_project | - |
| vAvgMonthlyHoursWorked | average\_monthly\_hours | - |

### KPI y expresión

Se ha añadido un KPI a la hoja. Se utiliza la siguiente expresión de gráfico:

```
endpoints.ScriptEvalStr('{"RequestType":"endpoint", "endpoint":{"connectionname":":MLModel","column":"left_yes"}}',
	vSatisfactionLevel as satisfaction_level,
	vTimeSpent as time_spend_company,
	last_evaluation,
	vNumberOfProjects as number_project,
	vAvgMonthlyHoursWorked as average_monthly_hours)
```

El cálculo representa el riesgo de rotación para el empleado seleccionado.

Las secciones siguientes describen cómo esta expresión utiliza la sintaxis de extensiones del lado del servidor para llamar a API de aprendizaje automático para predicciones en tiempo real.

#### Desglose de la expresión

La expresión utiliza la sintaxis de extensiones del lado del servidor (SSE) para generar predicciones sobre la marcha.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm)

#### endpoints.ScriptEvalStr

El prefijo endpoints.ScriptEvalStr indica que se están utilizando extensiones del lado del servidor. En particular, se utiliza la función ScriptEvalStr. Esta función le permite especificar el nombre de conexión, el destino y las características sin declarar los tipos explícitamente. En otras palabras, la API infiere los tipos de características automáticamente cuando se utiliza esta función.

[Sintaxis de las extensiones del lado del servidor](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/sse-syntax.htm)

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm)

#### ('{"RequestType":"endpoint",

Este segmento invoca además extensiones del lado del servidor al especificar que la solicitud es para acceder a un endpoint específico.

[Sintaxis de las extensiones del lado del servidor](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/sse-syntax.htm)

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm)

#### Especificar el nombre de conexión

El segmento "endpoint":{"connectionname":":MLModel" indica el nombre de la conexión que se va a usar. Esto debe coincidir con el nombre de conexión especificado en [Parte 4: Crear una conexión al conector de análisis Qlik Predict](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Connection). La conexión también contiene un prefijo : para indicar que la conexión que se va a usar está en el mismo espacio que la aplicación.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm)

#### Especificar el destino y solicitar la probabilidad

El segmento column":"left\_yes" indica que queremos usar la columna left como destino. El sufijo \_yes indica que estamos buscando una probabilidad del resultado yes. En otras palabras, no estamos solicitando un valor predicho específicamente, sino la probabilidad de que se prediga un valor positivo.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm)

#### Especificar las características y variables

Después de especificar la columna de destino, debemos especificar las características del modelo. Las características del modelo se pueden obtener abriendo la implementación de ML (creada en [Parte 3: Implementar y activar el modelo de mejor rendimiento](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Deploy)) y, a continuación, abriendo Vista general de la implementación. Esto abre el esquema del modelo: la lista de características y sus tipos.

Vista general de la implementación en una implementación de ML, que muestra el Esquema del modelo

Vista general de la implementación en una implementación de ML, que muestra el Esquema del modelo

Vista general de la implementaciónVista general de la implementación en una implementación de ML, que muestra el Esquema del modeloEsquema del modelo ![Esquema del modelo en la vista general de implementación para una implementación de ML.](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Resources/Images/what-if-analysis-model-schema.png)

Desde aquí, la lista de características se puede construir como una lista separada por comas. Las sustituciones de variables —mediante la palabra clave "as"— indican que los valores actuales de las variables se deben usar como datos de las características, en lugar de los propios datos de la aplicación. Estas sustituciones de variables permiten la simulación interactiva de escenarios posibles que se demuestran en este ejemplo.

```
vSatisfactionLevel as satisfaction_level,
vTimeSpent as time_spend_company,
last_evaluation,
vNumberOfProjects as number_project,
vAvgMonthlyHoursWorked as average_monthly_hours)
```

Nota informativaLa lista de características en la expresión debe incluir todas las características del esquema del modelo. De lo contrario, las predicciones fallarán. Además, si hay características mostradas en la expresión que no aparecen en el esquema del modelo, las predicciones también fallarán. Si ha entrenado un modelo que no tiene el conjunto idéntico de características a las mostradas en las expresiones anteriores, deberá editar su expresión para incluir o eliminar características según corresponda.

### Objetos de entrada para las variables

Se agregaron cuatro controles de entrada de variable a la hoja, uno para cada variable. Se han realizado las siguientes configuraciones:

* Se seleccionó la variable que se va a utilizar.

* Se seleccionó el tipo de entrada como Control deslizante.

* Se configuraron los rangos mínimo y máximo para cada variable, basándose en valores que podrían ocurrir razonablemente según los datos originales.

Para obtener más información sobre los objetos de entrada de variables, consulte [Crear controles de entrada de variable](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/DashboardBundle/creating-variable-input.htm).

### Panel de filtrado

Se agregó un panel de filtrado para permitir una selección fácil del empleado en el que centrarse.

### Tabla con los datos originales

También se añadió una tabla simple en la parte inferior de la hoja para facilitar la visualización de los datos originales, antes de que se modificaran durante el análisis hipotético.

## Más información

* [Sintaxis de las extensiones del lado del servidor](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/sse-syntax.htm)
* [Utilizar conexiones con Qlik Predict en expresiones de visualización](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-qlik-automl-connector-use.htm)