# Exemplo - Análise hipotética com o conector de análise do Qlik Predict

Neste exemplo, você configurará uma análise hipotética para simular como os valores previstos mudam quando diferentes variáveis são ajustadas. O exemplo envolve treinar e implementar um modelo de classificação binária no Qlik Predict, e usá-lo para criar previsões com o conector de análise do Qlik Predict.

Aplicativo de análise hipotética

Aplicativo de análise hipotética

Aplicativo de análise hipotética ![Resultado da análise hipotética](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/what-if-analysis.png)

## Antes de iniciar

### Baixar materiais de exemplo

Baixe os recursos de exemplo aqui:

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

Os materiais consistem em:

* Um conjunto de dados de treinamento—data-turnover-employees.xlsx. Este conjunto de dados é usado tanto para o treinamento quanto para as previsões do exemplo.

* Um aplicativo—What-If Analysis.qvf. O aplicativo não pode ser usado para gerar previsões sem primeiro treinar e implementar um modelo.

### Pré-requisitos

Antes de começar, certifique-se de:

* Sua assinatura do Qlik Cloud pode executar previsões em tempo real. Consulte o seguinte ou entre em contato com o proprietário da conta de serviço do locatário.

  * [Preços da Qlik](https://www.qlik.com/us/pricing)

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

* Seu administrador de locatários habilitou os endpoints de machine learning.

  [Ativando endpoints de ML no Qlik Cloud](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-qlik-automl-connector-overview.htm#EnableMLEndpoints)

* Você possui as permissões necessárias, atribuídas a você por um administrador de locatários:

  * A permissão Conexões de dados definida como Permitido.

    [Atribuindo permissões para os usuários trabalharem com conexões de dados](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Admin/mc-administer-data-connections.htm#Permissions)

  * Permissões para trabalhar com experimentos.

    [Acesso do usuário a experimentos de ML](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/who-can-work-with-automl.htm#AccessExperiment)

  * Permissões para trabalhar com implementações e com o conector de análise do Qlik Predict.

    [Acesso do usuário para implementações e previsões de ML](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/who-can-work-with-automl.htm#AccessDeployment)

## Parte 1: Carregar o conjunto de dados

Faça o seguinte:

1. Vá para a página Criar do centro de atividades do Análises e selecione Conjunto de dados.

2. Clique em Carregar arquivo de dados.

3. Arraste e solte o arquivo de dados data-turnover-employees.xlsx no diálogo Adicionar arquivo.

4. Selecione um espaço de destino para o arquivo. Pode ser seu espaço pessoal ou um espaço compartilhado. Use o mesmo espaço para todos os ativos do tutorial.

5. Clique em Carregar.

## Parte 2: Treinar o experimento

Crie, configure e execute um experimento para treinar um modelo de classificação binária. Todos os recursos disponíveis serão incluídos por padrão.

Faça o seguinte:

1. Vá para a página Criar do centro de atividades do Análises e selecione Experimento de ML.

2. Insira um nome para seu experimento, por exemplo, Análise de rotatividade de funcionários.

3. Escolha um espaço para o experimento (use o mesmo espaço que você usou em [Parte 1: Carregar o conjunto de dados](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Upload)).

4. Clique em Criar.

5. Selecione o arquivo de conjunto de dados de treinamento data-turnover-employees.xlsx.

6. Selecione a coluna left como destino. Essa é uma coluna que indica se um funcionário deixou ou não a empresa.

7. Clique em Executar experimento.

## Parte 3: Implementar e ativar o modelo de melhor desempenho

### Implementação

Após a conclusão do treinamento do experimento, você acessa a guia Modelos. Implemente o modelo de melhor desempenho como uma implementação de ML.

Faça o seguinte:

1. Clique em the Menu de três pontos icon ao lado do modelo que tem um ícone the Troféu icon próximo a ele.

2. Clique em the Implementar icon .

3. Selecione a opção para implementar o modelo em uma nova implementação.

4. Digite um nome para sua implementação, como Previsões de Rotatividade de Funcionários.

5. Se necessário, ajuste o espaço, a descrição e as tags.

6. Ative Habilitar acesso à API em tempo real. Isso é necessário para executar previsões com o conector de análise do Qlik Predict.

7. Clique em Criar.

### Ativação

Abra a implementação recém-criada.

Na parte superior da interface de implementação de ML, um banner indica que um aprovador de modelo precisa ativar o modelo padrão para fazer previsões.

Faça o seguinte:

1. No banner na parte superior da implementação de ML, clique em Ativar modelo.

2. No diálogo que é aberto, clique em Ativar modelo para confirmar.

## Parte 4: Criar uma conexão com o conector de análise do Qlik Predict

Em seguida, crie uma conexão com o conector de análise do Qlik Predict. Isso permitirá que você gere previsões em tempo real dentro do aplicativo de análise.

Faça o seguinte:

1. Vá para a página Criar do centro de atividades do Análises e selecione Conexão de dados.

2. Em Espaço, selecione o mesmo espaço usado em [Parte 1: Carregar o conjunto de dados](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Upload).

3. Selecione o conector do Qlik Predict.

4. Selecione a implementação de ML que você criou em [Parte 3: Implementar e ativar o modelo de melhor desempenho](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Deploy).

5. Insira o seguinte Nome: MLModel.

6. Clique em Criar.

## Parte 5: Carregar o aplicativo de análise

Carregue o aplicativo de análise que você baixou em [Baixar materiais de exemplo](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Download).

Faça o seguinte:

1. Acesse a página Criar do centro de atividades do Análises.

2. Em Dados e upload, selecione Upload.

3. Arraste o aplicativo What-If Analysis.qvf para o diálogo.

4. Em Espaço, selecione o mesmo espaço usado em [Parte 1: Carregar o conjunto de dados](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Upload) e [Parte 4: Criar uma conexão com o conector de análise do Qlik Predict](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Connection).

5. Clique em Carregar.

Após carregar o aplicativo, abra-o e, em seguida, abra a pasta What-If Analysis.

Nota informativaO aplicativo é pré-configurado, então você não precisa adicionar pastas e expressões. No entanto, cada etapa é detalhada em [Noções básicas do aplicativo](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Understanding).

## Explorar os resultados

Agora você tem a pasta What-If Analysis aberta no aplicativo.

Faça o seguinte:

1. Selecione um único valor de funcionário no campo employee\_number. Um valor aparece no KPI de Risco de Rotatividade.

2. Ajuste os controles deslizantes abaixo do KPI. A cada ajuste, uma simulação é realizada para prever o risco de rotatividade de funcionários.

Análise hipotética com um único funcionário selecionado e variáveis ajustadas.

Análise hipotética com um único funcionário selecionado e variáveis ajustadas.

Análise hipotética com um único funcionário selecionado e variáveis ajustadas. ![Resultado da análise hipotética](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/what-if-analysis.png)

## Noções básicas do aplicativo

### Dados carregados

O conjunto de dados de treinamento usado em [Parte 2: Treinar o experimento](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Train) é usado como os dados do aplicativo. Em cenários do mundo real, isso pode nem sempre ser o caso.

### Variáveis da pasta

As seguintes variáveis foram criadas, cada uma com uma definição padrão em branco. A definição é deixada em branco porque os valores das variáveis são atualizados dinamicamente durante a análise.

Variáveis para análise hipotética

| Nome da variável | Recurso do modelo que representa | Definição padrão da variável |
| --- | --- | --- |
| vSatisfactionLevel | satisfaction\_level | - |
| vTimeSpent | time\_spend\_company | - |
| vNumberOfProjects | number\_project | - |
| vAvgMonthlyHoursWorked | average\_monthly\_hours | - |

### KPI e expressão

Um KPI foi adicionado à pasta. A seguinte expressão de gráfico é usada:

```
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)
```

O cálculo representa o risco de rotatividade para o funcionário selecionado.

As seções abaixo descrevem como esta expressão usa a sintaxe de extensões do lado do servidor para chamar a API de aprendizado de máquina para previsões em tempo real.

#### Detalhando a expressão

A expressão usa a sintaxe de extensões do lado do servidor (SSE) para gerar previsões em tempo real.

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

#### endpoints.ScriptEvalStr

O prefixo endpoints.ScriptEvalStr indica que extensões do lado do servidor estão sendo usadas. Em particular, a função ScriptEvalStr é usada. Esta função permite especificar o nome da conexão, o destino e os recursos sem declarar tipos explicitamente. Em outras palavras, a API infere os tipos de recurso automaticamente quando esta função é usada.

[Sintaxe das extensões no lado do servidor](https://help.qlik.com/pt-BR/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 ainda mais extensões do lado do servidor, especificando que a solicitação é para acessar um endpoint específico.

[Sintaxe das extensões no lado do servidor](https://help.qlik.com/pt-BR/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)

#### Especificando o nome da conexão

O segmento "endpoint":{"connectionname":":MLModel" indica o nome da conexão a ser usada. Isso precisa corresponder ao nome da conexão especificado no [Parte 4: Criar uma conexão com o conector de análise do Qlik Predict](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Connection). A conexão também contém um prefixo : para indicar que a conexão a ser usada está no mesmo espaço que o aplicativo.

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

#### Especificando o destino e solicitando probabilidade

O segmento column":"left\_yes" indica que queremos usar a coluna left como destino. O sufixo \_yes indica que estamos procurando uma probabilidade do resultado yes. Em outras palavras, não estamos solicitando um valor previsto especificamente, mas sim a probabilidade de um valor positivo ser previsto.

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

#### Especificando os recursos e as variáveis

Depois de especificar a coluna de destino, precisamos especificar os recursos no modelo. Os recursos do modelo podem ser obtidos abrindo a implementação de ML (criada em [Parte 3: Implementar e ativar o modelo de melhor desempenho](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Deploy)) e, em seguida, abrindo Visão geral da implementação. Isso abre o esquema do modelo: a lista de recursos e seus tipos de recurso.

Visão geral da implementação em uma implementação de ML, mostrando o Esquema do modelo

Visão geral da implementação em uma implementação de ML, mostrando o Esquema do modelo

Visão geral da implementaçãoVisão geral da implementação em uma implementação de ML, mostrando o Esquema do modeloEsquema do modelo ![Esquema do modelo na visão geral da implementação para uma implementação de machine learning.](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/what-if-analysis-model-schema.png)

A partir daqui, a lista de recursos pode ser construída como uma lista separada por vírgulas. As substituições de variáveis — usando a palavra-chave "as" — indicam que os valores atuais das variáveis devem ser usados como dados de recurso, em vez dos próprios dados do aplicativo. Essas substituições de variáveis permitem a simulação interativa de "e se" que é demonstrada neste exemplo.

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

Nota informativaA lista de recursos na expressão precisa incluir todos os recursos no esquema do modelo. Caso contrário, as previsões falham. Além disso, se houver recursos listados na expressão que não aparecem no esquema do modelo, as previsões também falharão. Se você treinou um modelo que não tem o conjunto idêntico de recursos aos listados nas expressões acima, você precisará editar sua expressão para incluir ou remover recursos, conforme aplicável.

### Objetos de entrada de variável

Quatro controles de entrada de variável foram adicionados à pasta, um para cada variável. As seguintes configurações foram feitas:

* A variável a ser usada foi selecionada.

* O tipo de entrada foi selecionado como Controle deslizante.

* Os intervalos mínimo e máximo para cada variável foram configurados, com base em valores que poderiam ocorrer razoavelmente de acordo com os dados originais.

Para obter mais informações sobre objetos de entrada de variável, consulte [Criando controles de entrada de variável](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/DashboardBundle/creating-variable-input.htm).

### Painel de filtro

Um painel de filtro foi adicionado para permitir a fácil seleção do funcionário no qual focar.

### Tabela com os dados originais

Uma tabela estática também foi adicionada na parte inferior da pasta, para facilitar a visualização dos dados originais — antes que fossem alterados durante a análise hipotética.

## Saiba mais

* [Sintaxe das extensões no lado do servidor](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/sse-syntax.htm)
* [Usando conexões Qlik Predict em expressões de visualização](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-qlik-automl-connector-use.htm)