# Esempio - Analisi what-if con il connettore analitico Qlik Predict

In questo esempio, si configurerà un'analisi what-if per simulare come cambiano i valori previsti quando si regolano diverse variabili. L'esempio prevede l'addestramento e la distribuzione di un modello di classificazione binaria in Qlik Predict e il suo utilizzo per creare previsioni con il connettore analitico Qlik Predict.

Applicazione di analisi what-if

Applicazione di analisi what-if

Applicazione di analisi what-if ![Risultato dell'analisi what-if](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Resources/Images/what-if-analysis.png)

## Prima di iniziare

### Download dei materiali di esempio

Scaricare le risorse di esempio qui:

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

I materiali consistono in:

* Un dataset di addestramento—data-turnover-employees.xlsx. Questo dataset viene utilizzato sia per l'addestramento che per le previsioni per l'esempio.

* Un'applicazione—What-If Analysis.qvf. L'applicazione non può essere utilizzata per generare previsioni senza prima addestrare e distribuire un modello.

### Prerequisiti

Prima di iniziare, assicurarsi che:

* L'abbonamento a Qlik Cloud possa eseguire previsioni in tempo reale. Fare riferimento a quanto segue o contattare il proprietario dell'account di servizio del tenant.

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

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

* L'amministratore del tenant abbia abilitato gli endpoint di machine learning.

  [Abilitazione degli endpoint di ML in Qlik Cloud](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-qlik-automl-connector-overview.htm#EnableMLEndpoints)

* Siano state assegnate le autorizzazioni richieste da un amministratore del tenant:

  * L'autorizzazione Connessioni dati impostata su Consentito.

    [Assegnazione delle autorizzazioni per gli utenti per utilizzare le connessioni dati](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/Admin/mc-administer-data-connections.htm#Permissions)

  * Autorizzazioni per lavorare con gli esperimenti.

    [Accesso utente agli esperimenti di ML](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/who-can-work-with-automl.htm#AccessExperiment)

  * Autorizzazioni per lavorare con le distribuzioni e con il connettore analitico Qlik Predict.

    [Accesso utente alle distribuzioni e alle previsioni di ML](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/who-can-work-with-automl.htm#AccessDeployment)

## Parte 1: Caricare il dataset

Procedere come indicato di seguito:

1. Andare alla pagina Crea del centro attività Analisi e selezionare Dataset.

2. Fare clic su Carica file di dati.

3. Trascinare e rilasciare il file di dati data-turnover-employees.xlsx nella finestra di dialogo Aggiungi file.

4. Selezionare uno spazio di destinazione per il file. Può essere lo spazio personale o uno spazio condiviso. Utilizzare lo stesso spazio per tutte le risorse del tutorial.

5. Fare clic su Carica.

## Parte 2: Addestrare l'esperimento

Creare, configurare ed eseguire un esperimento per addestrare un modello di classificazione binaria. Tutte le funzionalità disponibili saranno incluse per impostazione predefinita.

Procedere come indicato di seguito:

1. Andare alla pagina Crea del centro attività Analisi e selezionare Esperimento ML.

2. Immettere un nome per l'esperimento, ad esempio Employee turnover analysis.

3. Scegliere uno spazio per l'esperimento (utilizzare lo stesso spazio usato in [Parte 1: Caricare il dataset](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Upload)).

4. Fare clic su Crea.

5. Selezionare il file del dataset di addestramento data-turnover-employees.xlsx.

6. Selezionare la colonna left come target. Si tratta di una colonna che indica se un dipendente ha lasciato o meno l'azienda.

7. Fare clic su Esegui esperimento.

## Parte 3: Distribuire e attivare il modello con le prestazioni migliori

### Distribuzione

Al termine dell'addestramento dell'esperimento, si accederà alla scheda Modelli. Distribuire il modello con le prestazioni migliori come distribuzione ML.

Procedere come indicato di seguito:

1. Fare clic su the Menu con tre puntini icon accanto al modello che presenta un'icona the Trofeo icon accanto ad esso.

2. Fare clic su the Distribuisci icon .

3. Selezionare l'opzione per distribuire il modello in Una nuova distribuzione.

4. Digitare un nome per la distribuzione, ad esempio Employee Turnover Predictions.

5. Se necessario, regolare lo spazio, la descrizione e i tag.

6. Attivare Abilita accesso API in tempo reale. Questo è richiesto per eseguire previsioni con il connettore analitico Qlik Predict.

7. Fare clic su Crea.

### Attivazione

Aprire la distribuzione appena creata.

Nella parte superiore dell'interfaccia della distribuzione ML, un banner indica che un approvatore del modello deve attivare il modello predefinito per effettuare previsioni.

Procedere come indicato di seguito:

1. Nel banner nella parte superiore della distribuzione ML, fare clic su Attiva modello.

2. Nella finestra di dialogo che si apre, fare clic su Attiva modello per confermare.

## Parte 4: Creare una connessione al connettore analitico Qlik Predict

Successivamente, creare una connessione al connettore analitico Qlik Predict. Ciò consentirà di generare previsioni al volo all'interno dell'applicazione analitica.

Procedere come indicato di seguito:

1. Andare alla pagina Crea del centro attività Analisi e selezionare Connessione dati.

2. In Spazio, selezionare lo stesso spazio usato in [Parte 1: Caricare il dataset](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Upload).

3. Selezionare il connettore Qlik Predict.

4. Selezionare la Distribuzione ML creata in [Parte 3: Distribuire e attivare il modello con le prestazioni migliori](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Deploy).

5. Immettere il seguente Nome: MLModel.

6. Fare clic su Crea.

## Parte 5: Caricare l'applicazione analitica

Caricare l'applicazione analitica scaricata in [Download dei materiali di esempio](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Download).

Procedere come indicato di seguito:

1. Andare alla pagina Crea del centro attività Analisi.

2. In Dati e caricamento, selezionare Carica.

3. Rilasciare l'applicazione What-If Analysis.qvf nella finestra di dialogo.

4. In Spazio, selezionare lo stesso spazio usato in [Parte 1: Caricare il dataset](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Upload) e [Parte 4: Creare una connessione al connettore analitico Qlik Predict](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Connection).

5. Fare clic su Carica.

Dopo aver caricato l'applicazione, aprirla, quindi aprire il foglio What-If Analysis.

Nota informaticaL'applicazione è preconfigurata, pertanto non è necessario aggiungere fogli ed espressioni. Tuttavia, ogni passaggio è dettagliato in [Informazioni sull'applicazione](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Understanding).

## Esplorare i risultati

Ora il foglio What-If Analysis è aperto nell'applicazione.

Procedere come indicato di seguito:

1. Selezionare un singolo valore dipendente nel campo employee\_number. Viene visualizzato un valore nel KPI Risk of Turnover.

2. Regolare i dispositivi di scorrimento sotto il KPI. Con ogni regolazione, viene eseguita una simulazione per prevedere il rischio di abbandono dei dipendenti.

Analisi what-if con un singolo dipendente selezionato e variabili regolate.

Analisi what-if con un singolo dipendente selezionato e variabili regolate.

Analisi what-if con un singolo dipendente selezionato e variabili regolate. ![Risultato dell'analisi what-if](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Resources/Images/what-if-analysis.png)

## Informazioni sull'applicazione

### Dati caricati

Il dataset di addestramento utilizzato in [Parte 2: Addestrare l'esperimento](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Train) viene utilizzato come dati dell'applicazione. Negli scenari reali, potrebbe non essere sempre così.

### Variabili del foglio

Sono state create le seguenti variabili, ciascuna con una definizione predefinita vuota. La definizione viene lasciata vuota perché i valori delle variabili vengono invece aggiornati al volo durante l'analisi.

Variabili per l'analisi what-if

| Nome variabile | Funzionalità del modello rappresentata | Definizione predefinita della variabile |
| --- | --- | --- |
| vSatisfactionLevel | satisfaction\_level | - |
| vTimeSpent | time\_spend\_company | - |
| vNumberOfProjects | number\_project | - |
| vAvgMonthlyHoursWorked | average\_monthly\_hours | - |

### KPI ed espressione

Un KPI è stato aggiunto al foglio. Viene utilizzata la seguente espressione del grafico:

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

Il calcolo rappresenta il rischio di turnover per il dipendente selezionato.

Le sezioni seguenti descrivono come questa espressione utilizzi la sintassi delle estensioni lato server per chiamare l'API API di machine learning per le previsioni in tempo reale.

#### Analisi dell'espressione

L'espressione utilizza la sintassi delle estensioni lato server (SSE) per generare previsioni al volo.

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

#### endpoints.ScriptEvalStr

Il prefisso endpoints.ScriptEvalStr indica che si stanno utilizzando le estensioni lato server. In particolare, viene utilizzata la funzione ScriptEvalStr. Questa funzione consente di specificare il nome di connessione, il target e le funzionalità senza dichiarare esplicitamente i tipi. In altre parole, l'API deduce automaticamente i tipi di funzionalità quando viene utilizzata questa funzione.

[Sintassi delle estensioni lato server](https://help.qlik.com/it-IT/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",

Questo segmento richiama ulteriormente le estensioni lato server specificando che la richiesta consiste nell'accedere a un endpoint specifico.

[Sintassi delle estensioni lato server](https://help.qlik.com/it-IT/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)

#### Specifica del nome di connessione

Il segmento "endpoint":{"connectionname":":MLModel" indica il nome della connessione da utilizzare. Questo deve corrispondere al nome di connessione specificato in [Parte 4: Creare una connessione al connettore analitico Qlik Predict](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Connection). La connessione contiene anche un prefisso : per indicare che la connessione da utilizzare si trova nello stesso spazio dell'applicazione.

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

#### Specifica del target e richiesta della probabilità

Il segmento column":"left\_yes" indica che si desidera utilizzare la colonna left come target. Il suffisso \_yes indica che si sta cercando la probabilità del risultato yes. In altre parole, non si sta richiedendo specificamente un valore previsto, bensì la probabilità che venga previsto un valore positivo.

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

#### Specifica delle funzionalità e delle variabili

Dopo aver specificato la colonna target, è necessario specificare le funzionalità nel modello. Le funzionalità del modello possono essere ottenute aprendo la distribuzione ML (creata in [Parte 3: Distribuire e attivare il modello con le prestazioni migliori](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Deploy)), quindi aprendo Panoramica della distribuzione. In questo modo si apre lo schema del modello: l'elenco delle funzionalità e i relativi tipi di funzionalità.

Panoramica della distribuzione in una distribuzione ML, che mostra lo Schema del modello

Panoramica della distribuzione in una distribuzione ML, che mostra lo Schema del modello

Panoramica della distribuzionePanoramica della distribuzione in una distribuzione ML, che mostra lo Schema del modelloSchema del modello ![Schema del modello in Panoramica della distribuzione per una distribuzione ML.](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Resources/Images/what-if-analysis-model-schema.png)

Da qui, l'elenco delle funzionalità può essere costruito como un elenco separato da virgole. Le sostituzioni di variabili—utilizzando la parola chiave "as"—indicano che i valori correnti delle variabili devono essere utilizzati come dati delle funzionalità, anziché come dati dell'applicazione stessi. Queste sostituzioni di variabili consentono la simulazione interattiva "what-if" dimostrata in questo esempio.

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

Nota informaticaL'elenco delle funzionalità nell'espressione deve includere tutte le funzionalità nello schema del modello. In caso contrario, le previsioni non riusciranno. Inoltre, se nell'espressione sono elencate funzionalità che non compaiono nello schema del modello, anche le previsioni non riusciranno. Se si è addestrato un modello che non presenta lo stesso insieme di funzionalità di quelle elencate nelle espressioni precedenti, sarà necessario modificare l'espressione per includere o rimuovere le funzionalità a seconda dei casi.

### Oggetti di input variabile

Al foglio sono stati aggiunti quattro controlli di input variabile—uno per ciascuna variabile. Sono state eseguite le seguenti configurazioni:

* È stata selezionata la variabile da utilizzare.

* Il tipo di input è stato selezionato come Dispositivo di scorrimento.

* Sono stati configurati gli intervalli minimo e massimo per ciascuna variabile, in base ai valori che potrebbero ragionevolmente verificarsi in base ai dati originali.

Per ulteriori informazioni sugli oggetti di input variabile, vedere [Creazione di controlli di input variabili](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/DashboardBundle/creating-variable-input.htm).

### Casella di filtro

È stata aggiunta una casella di filtro per consentire una facile selezione del dipendente su cui concentrarsi.

### Tabella con i dati originali

È stata inoltre aggiunta una tabella lineare nella parte inferiore del foglio, per facilitare la visualizzazione dei dati originali—prima che venissero modificati durante l'analisi what-if.

[Sintassi delle estensioni lato server](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/sse-syntax.htm)

[Utilizzo delle connessioni Qlik Predict nelle espressioni di visualizzazione](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-qlik-automl-connector-use.htm)