# Przykład — analiza co-jeśli z użyciem łącznika analitycznego Qlik Predict

W tym przykładzie skonfigurujesz analizę co-jeśli, aby zasymulować, jak zmieniają się przewidywane wartości po dostosowaniu różnych zmiennych. Przykład obejmuje trenowanie i wdrażanie modelu klasyfikacji binarnej w Qlik Predict oraz używanie go do tworzenia prognoz za pomocą łącznika analitycznego Qlik Predict.

Aplikacja do analizy co-jeśli

Aplikacja do analizy co-jeśli

Aplikacja do analizy co-jeśli ![Wynik analizy co-jeśli](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/what-if-analysis.png)

## Przed rozpoczęciem

### Pobierz przykładowe materiały

Pobierz przykładowe zasoby tutaj:

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

Materiały składają się z:

* Zestawu danych treningowych — data-turnover-employees.xlsx. Ten zestaw danych jest używany zarówno do trenowania, jak i do prognoz w tym przykładzie.

* Aplikacji — What-If Analysis.qvf. Aplikacja nie może być używana do generowania prognoz bez uprzedniego wytrenowania i wdrożenia modelu.

### Wymagania wstępne

Przed rozpoczęciem upewnij się, że:

* Twoja subskrypcja Qlik Cloud umożliwia uruchamianie prognoz w czasie rzeczywistym. Zapoznaj się z poniższymi informacjami lub skontaktuj się z właścicielem konta usług dzierżawy.

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

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

* Administrator dzierżawy włączył punkty końcowe uczenia maszynowego.

  [Włączanie punktów końcowych uczenia maszynowego w Qlik Cloud](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-qlik-automl-connector-overview.htm#EnableMLEndpoints)

* Masz przypisane wymagane uprawnienia przez administratora dzierżawy:

  * Uprawnienie Połączenia danych ustawione na Dozwolone.

    [Przypisywanie użytkownikom uprawnień do pracy z połączeniami danych](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Admin/mc-administer-data-connections.htm#Permissions)

  * Uprawnienia do pracy z eksperymentami.

    [Dostęp użytkownika do eksperymentów uczenia maszynowego](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/who-can-work-with-automl.htm#AccessExperiment)

  * Uprawnienia do pracy z wdrożeniami i pracy z łącznikiem analitycznym Qlik Predict.

    [Dostęp użytkownika do wdrożeń uczenia maszynowego i predykcji](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/who-can-work-with-automl.htm#AccessDeployment)

## Część 1: Przesyłanie zestawu danych

Wykonaj następujące czynności:

1. Przejdź na stronę Utwórz w Analytics centrum aktywności i wybierz Zestaw danych.

2. Kliknij Prześlij plik danych.

3. Przeciągnij i upuść plik danych data-turnover-employees.xlsx do okna dialogowego Dodaj plik.

4. Wybierz przestrzeń docelową dla pliku. Może to być Twoja przestrzeń prywatna lub przestrzeń udostępniona. Użyj tej samej przestrzeni dla wszystkich zasobów samouczka.

5. Kliknij Prześlij.

## Część 2: Trenowanie eksperymentu

Utwórz, skonfiguruj i uruchom eksperyment, aby wytrenować model klasyfikacji binarnej. Domyślnie uwzględnione zostaną wszystkie dostępne cechy.

Wykonaj następujące czynności:

1. Przejdź na stronę Utwórz w Analytics centrum aktywności i wybierz Eksperyment ML.

2. Wprowadź nazwę eksperymentu, na przykład Employee turnover analysis.

3. Wybierz przestrzeń dla eksperymentu (użyj tej samej przestrzeni, której użyto w [Część 1: Przesyłanie zestawu danych](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Upload)).

4. Kliknij Utwórz.

5. Wybierz plik treningowego zestawu danych data-turnover-employees.xlsx.

6. Wybierz kolumnę left jako cel. Jest to kolumna wskazująca, czy pracownik odszedł z firmy.

7. Kliknij Uruchom eksperyment.

## Część 3: Wdrażanie i aktywowanie najlepiej działającego modelu

### Wdrożenie

Po zakończeniu trenowania eksperymentu przejdziesz do karty Modele. Wdróż najlepiej działający model jako wdrożenie ML.

Wykonaj następujące czynności:

1. Kliknij the Menu z trzema kropkami icon obok modelu, obok którego znajduje się ikona the Trofeum icon.

2. Kliknij the Wdróż icon .

3. Wybierz opcję wdrożenia modelu do Nowe wdrożenie.

4. Wpisz nazwę wdrożenia, na przykład Employee Turnover Predictions.

5. W razie potrzeby dostosuj przestrzeń, opis i tagi.

6. Włącz opcję Włącz dostęp do API w czasie rzeczywistym. Jest to wymagane do uruchamiania prognoz za pomocą łącznika analitycznego Qlik Predict.

7. Kliknij Utwórz.

### Aktywacja

Otwórz nowo utworzone wdrożenie.

Na górze interfejsu wdrożenia ML baner informuje, że osoba zatwierdzająca model musi aktywować domyślny model w celu dokonywania predykcji.

Wykonaj następujące czynności:

1. W banerze na górze wdrożenia ML kliknij Aktywuj model.

2. W oknie dialogowym, które zostanie otwarte, kliknij Aktywuj model, aby potwierdzić.

## Część 4: Tworzenie połączenia z łącznikiem analitycznym Qlik Predict

Następnie utwórz połączenie z łącznikiem analitycznym Qlik Predict. Umożliwi to generowanie prognoz na bieżąco w aplikacji analitycznej.

Wykonaj następujące czynności:

1. Przejdź na stronę Utwórz w centrum aktywności Analytics i wybierz Połączenie danych.

2. W sekcji Przestrzeń wybierz tę samą przestrzeń, której użyto w [Część 1: Przesyłanie zestawu danych](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Upload).

3. Wybierz łącznik Qlik Predict.

4. Wybierz Wdrożenie ML utworzone w [Część 3: Wdrażanie i aktywowanie najlepiej działającego modelu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Deploy).

5. Wprowadź następującą wartość w polu Nazwa: MLModel.

6. Kliknij Utwórz.

## Część 5: Przesyłanie aplikacji analitycznej

Prześlij aplikację analityczną pobraną w sekcji [Pobierz przykładowe materiały](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Download).

Wykonaj następujące czynności:

1. Przejdź na stronę Utwórz w centrum aktywności Analytics.

2. W sekcji Dane i przesyłanie wybierz Prześlij.

3. Upuść aplikację What-If Analysis.qvf do okna dialogowego.

4. W sekcji Przestrzeń wybierz tę samą przestrzeń, której użyto w [Część 1: Przesyłanie zestawu danych](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Upload) i [Część 4: Tworzenie połączenia z łącznikiem analitycznym Qlik Predict](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Connection).

5. Kliknij Prześlij.

Po przesłaniu aplikacji otwórz ją, a następnie otwórz arkusz What-If Analysis.

InformacjaAplikacja jest wstępnie skonfigurowana, więc nie trzeba dodawać arkuszy ani wyrażeń. Jednak każdy krok został szczegółowo opisany w sekcji [Zrozumienie działania aplikacji](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Understanding).

## Badanie wyników

Masz teraz otwarty arkusz What-If Analysis w aplikacji.

Wykonaj następujące czynności:

1. Wybierz pojedynczą wartość pracownika w polu employee\_number. Wartość pojawi się we wskaźniku KPI Risk of Turnover.

2. Dostosuj suwaki pod wskaźnikiem KPI. Przy każdej regulacji przeprowadzana jest symulacja w celu przewidzenia ryzyka odejścia pracownika.

Analiza co-jeśli z wybranym jednym pracownikiem i dostosowanymi zmiennymi.

Analiza co-jeśli z wybranym jednym pracownikiem i dostosowanymi zmiennymi.

Analiza co-jeśli z wybranym jednym pracownikiem i dostosowanymi zmiennymi. ![Wynik analizy co-jeśli](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/what-if-analysis.png)

## Zrozumienie działania aplikacji

### Załadowane dane

Treningowy zestaw danych użyty w sekcji [Część 2: Trenowanie eksperymentu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Train) jest używany jako dane aplikacji. W rzeczywistych scenariuszach nie zawsze tak musi być.

### Zmienne arkusza

Utworzono następujące zmienne, każda z pustą definicją domyślną. Definicja pozostaje pusta, ponieważ wartości zmiennych są zamiast tego aktualizowane na bieżąco podczas analizy.

Zmienne do analizy co-jeśli

| Nazwa zmiennej | Cecha modelu, którą reprezentuje | Domyślna definicja zmiennej |
| --- | --- | --- |
| vSatisfactionLevel | satisfaction\_level | - |
| vTimeSpent | time\_spend\_company | - |
| vNumberOfProjects | number\_project | - |
| vAvgMonthlyHoursWorked | average\_monthly\_hours | - |

### Wskaźnik KPI i wyrażenie

Do arkusza dodano wskaźnik KPI. Używane jest następujące wyrażenie wykresu:

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

Obliczenie reprezentuje ryzyko odejścia wybranego pracownika.

Poniższe sekcje opisują, w jaki sposób to wyrażenie wykorzystuje składnię rozszerzeń po stronie serwera do wywoływania interfejsu API uczenia maszynowego w celu uzyskiwania prognoz w czasie rzeczywistym.

#### Rozbicie wyrażenia na czynniki pierwsze

Wyrażenie wykorzystuje składnię rozszerzeń po stronie serwera (SSE) do generowania prognoz na bieżąco.

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

#### endpoints.ScriptEvalStr

Prefiks endpoints.ScriptEvalStr wskazuje, że używane są rozszerzenia po stronie serwera. W szczególności używana jest funkcja ScriptEvalStr. Funkcja ta umożliwia określenie nazwy połączenia, celu i cech bez jawnego deklarowania typów. Innymi słowy, interfejs API automatycznie wnioskuje typy cech, gdy ta funkcja jest używana.

[Składnia rozszerzeń po stronie serwera](https://help.qlik.com/pl-PL/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",

Ten segment dodatkowo wywołuje rozszerzenia po stronie serwera, określając, że żądanie dotyczy dostępu do określonego punktu końcowego.

[Składnia rozszerzeń po stronie serwera](https://help.qlik.com/pl-PL/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)

#### Specifying the connection name

Segment "endpoint":{"connectionname":":MLModel" wskazuje nazwę połączenia, którego należy użyć. Musi ona być zgodna z nazwą połączenia określoną w sekcji [Część 4: Tworzenie połączenia z łącznikiem analitycznym Qlik Predict](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Connection). Połączenie zawiera również prefiks : wskazujący, że połączenie, którego należy użyć, znajduje się w tej samej przestrzeni co aplikacja.

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

#### Specifying the target and requesting probability

Segment column":"left\_yes" wskazuje, że chcemy użyć kolumny left jako celu. Sufiks \_yes wskazuje, że szukamy prawdopodobieństwa wyniku yes. Innymi słowy, nie żądamy konkretnie przewidywanej wartości, ale prawdopodobieństwa przewidzenia wartości dodatniej.

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

#### Specifying the features and variables

Po określeniu kolumny docelowej musimy określić cechy w modelu. Cechy modelu można uzyskać, otwierając wdrożenie ML (utworzone w sekcji [Część 3: Wdrażanie i aktywowanie najlepiej działającego modelu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/example-what-if-analysis.htm#Deploy)), a następnie otwierając Przegląd wdrożenia. Spowoduje to otwarcie schematu modelu: listy cech i ich typów cech.

Przegląd wdrożenia we wdrożeniu ML, pokazujący Schemat modelu

Przegląd wdrożenia we wdrożeniu ML, pokazujący Schemat modelu

Przegląd wdrożeniaPrzegląd wdrożenia we wdrożeniu ML, pokazujący Schemat modeluSchemat modelu ![Schemat modelu w Przeglądzie wdrożenia dla wdrożenia ML.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/what-if-analysis-model-schema.png)

W tym miejscu można utworzyć listę cech rozdzielanych przecinkami. Podstawienia zmiennych — przy użyciu słowa kluczowego „as” — wskazują, że bieżące wartości zmiennych mają być używane jako dane cech, a nie same dane aplikacji. Te podstawienia zmiennych umożliwiają interaktywną symulację „co-jeśli”, która została zademonstrowana w tym przykładzie.

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

InformacjaLista cech w wyrażeniu musi zawierać wszystkie cechy w schemacie modelu. W przeciwnym razie prognozy zakończą się niepowodzeniem. Ponadto, jeśli w wyrażeniu wymieniono cechy, które nie pojawiają się w schemacie modelu, prognozy również zakończą się niepowodzeniem. Jeśli wytrenowano model, który nie ma identycznego zestawu cech jak te wymienione w powyższych wyrażeniach, konieczne będzie edytowanie wyrażenia w celu dodania lub usunięcia cech w zależności od potrzeb.

### Obiekty wprowadzania zmiennych

Do arkusza dodano cztery kontrolki wprowadzania zmiennych — po jednej dla każdej zmiennej. Wykonano następujące konfiguracje:

* Wybrano zmienną, która ma zostać użyta.

* Wybrano typ wprowadzania jako Suwak.

* Skonfigurowano minimalne i maksymalne zakresy dla każdej zmiennej na podstawie wartości, które mogłyby racjonalnie wystąpić zgodnie z oryginalnymi danymi.

Więcej informacji na temat obiektów wprowadzania zmiennych zawiera sekcja [Tworzenie elementów sterujących do wprowadzania zmiennych](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/DashboardBundle/creating-variable-input.htm).

### Panel filtrowania

Dodano panel filtrowania, aby umożliwić łatwy wybór pracownika, na którym należy się skupić.

### Tabela z oryginalnymi danymi

Na dole arkusza dodano również tabelę prostą, aby ułatwić przeglądanie oryginalnych danych — przed ich zmianą podczas analizy co-jeśli.

[Składnia rozszerzeń po stronie serwera](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/sse-syntax.htm)

[Używanie połączeń Qlik Predict w wyrażeniach wizualizacji](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-qlik-automl-connector-use.htm)