Udostępnij za pośrednictwem


Samouczek 3. Wdrażanie modelu ryzyka kredytowego — Machine Learning Studio (wersja klasyczna)

DOTYCZY: Jest to znacznik wyboru, co oznacza, że ten artykuł dotyczy usługi Machine Learning Studio (klasycznej).Machine Learning Studio (wersja klasyczna) Jest to X, co oznacza, że ten artykuł nie ma zastosowania do usługi Azure Machine Learning.Azure Machine Learning

Ważne

Obsługa programu Machine Learning Studio (wersja klasyczna) zakończy się 31 sierpnia 2024 r. Zalecamy przejście do usługi Azure Machine Learning przed tym terminem.

Od 1 grudnia 2021 r. nie będzie można tworzyć nowych zasobów programu Machine Learning Studio (wersja klasyczna). Do 31 sierpnia 2024 r. można będzie nadal korzystać z istniejących zasobów programu Machine Learning Studio (wersja klasyczna).

Dokumentacja programu ML Studio (wersja klasyczna) jest wycofywana i może nie być aktualizowana w przyszłości.

W tym samouczku szczegółowo przedstawiono proces opracowywania rozwiązania analizy predykcyjnej. Tworzysz prosty model w usłudze Machine Learning Studio (wersja klasyczna). Następnie wdrożysz model jako usługę internetową usługi Machine Learning. Wdrożony model może tworzyć przewidywania przy użyciu nowych danych. Niniejszy samouczek jest trzecią częścią trzyczęściowej serii.

Załóżmy, że chcesz przewidzieć ryzyko kredytowe osoby na podstawie informacji przekazanych we wniosku kredytowym.

Ocena ryzyka kredytowego to złożony problem, ale w tym samouczku zostanie on nieco uproszczony. Użyjesz go jako przykładu tworzenia rozwiązania analizy predykcyjnej przy użyciu usługi Machine Learning Studio (klasycznej). W tym rozwiązaniu użyjesz usługi Machine Learning Studio (klasycznej) i usługi internetowej Machine Learning.

W tym trzyczęściowym samouczku zaczniesz od publicznie dostępnych danych ryzyka kredytowego. Następnie wdrożysz i wytrenujesz model predykcyjny. Na koniec wdrożysz model jako usługę internetową.

W części jedną z samouczków utworzono obszar roboczy usługi Machine Learning Studio (wersja klasyczna), przekazano dane i utworzono eksperyment.

W drugiej części samouczka modele zostały przeszkolone i ocenione.

W tej części samouczka zostaną wykonane następujące czynności:

  • Przygotowanie do wdrożenia
  • Wdrażanie usługi internetowej
  • Testowanie usługi internetowej
  • Zarządzanie usługą internetową
  • Uzyskiwanie dostępu do usługi sieci Web

Wymagania wstępne

Ukończona druga część samouczka.

Przygotowanie do wdrożenia

Aby zapewnić innym osobom możliwość użycia modelu predykcyjnego, który został opracowany w ramach tego samouczka, możesz go wdrożyć jako usługę internetową na platformie Azure.

Do tej pory były przeprowadzane eksperymenty z trenowaniem naszego modelu. Ale wdrożona usługa nie będzie już trenowana — będzie generowała nowe przewidywania, generując wyniki dla danych wejściowych użytkownika na podstawie naszego modelu. Zamierzamy więc przeprowadzić pewne przygotowania, aby przekonwertować ten eksperyment z eksperymentu szkoleniowego w eksperyment predykcyjny.

Proces przygotowania do wdrożenia składa się z trzech kroków:

  1. Usunięcie jednego z modeli
  2. Przekonwertowanie utworzonego eksperymentu trenowania w eksperyment predykcyjny
  3. Wdrożenie eksperymentu predykcyjnego jako usługi internetowej

Usunięcie jednego z modeli

Najpierw musisz nieco ograniczyć ten eksperyment. Obecnie masz dwa różne modele w eksperymencie, ale chcesz użyć tylko jednego modelu podczas wdrażania go jako usługi internetowej.

Załóżmy, że zdecydujesz, że model wzmocnionego drzewa spisywał się lepiej niż model SVM. Dlatego najpierw musisz usunąć moduł Two-Class Support Vector Machine (Dwuklasowa maszyna wektorów nośnych) i moduły, które zostały użyte do jego szkolenia. Warto najpierw utworzyć kopię tego eksperymentu, klikając przycisk Zapisz jako w dolnej części kanwy eksperymentu.

Musisz usunąć następujące moduły:

Wybierz każdy moduł i naciśnij klawisz Delete lub kliknij prawym przyciskiem myszy moduł i wybierz pozycję Delete (Usuń).

Wyróżnia moduły do usunięcia w celu usunięcia modelu maszyny wektorowej obsługi

Nasz model powinien teraz wyglądać mniej więcej tak:

Wynikowy eksperyment po usunięciu modelu maszyny wektorowej obsługi

Teraz jesteśmy gotowi do wdrożenia tego modelu przy użyciu dwuklasowego wzmocnionego drzewa decyzyjnego.

Konwertowanie eksperymentu trenowania w eksperyment predykcyjny

Aby przygotować ten model do wdrożenia, musisz przekonwertować ten eksperyment trenowania w eksperyment predykcyjny. Ten proces obejmuje trzy kroki:

  1. Zapisanie wytrenowanego modelu, a następnie zastąpienie naszych modułów trenowania
  2. Dostosowanie eksperymentu do usunięcia modułów, które były potrzebne tylko do szkolenia
  3. Zdefiniowanie, gdzie usługa internetowa będzie akceptować dane wejściowe i gdzie będzie generować dane wyjściowe

Możesz to zrobić ręcznie, ale na szczęście wszystkie trzy kroki można wykonać, klikając pozycję Set Up Web Service (Skonfiguruj usługę internetową) w dolnej części kanwy eksperymentu (i wybierając opcję Predictive Web Service [Predykcyjna usługa internetowa]).

Napiwek

Jeśli chcesz uzyskać więcej informacji na temat tego, co się stanie po przekonwertowaniu eksperymentu szkoleniowego na eksperyment predykcyjny, zobacz Jak przygotować model do wdrożenia w usłudze Machine Learning Studio (wersja klasyczna).

Po kliknięciu pozycji Set Up Web Service (Skonfiguruj usługę internetową) ma miejsce kilka zdarzeń:

  • Wytrenowany model jest konwertowany na pojedynczy moduł Trained model (Wytrenowany model) i zapisywany w palecie modułów z lewej strony kanwy eksperymentu (można go odnaleźć w obszarze Trained Models [Wytrenowane modele])
  • Moduły używane do trenowania są usuwane; specyficznie:
  • Zapisany wytrenowany model jest ponownie dodawany do eksperymentu
  • Zostaną dodane moduły Web service input (Dane wejściowe usługi internetowej) i Web service output (Dane wyjściowe usługi internetowej) (określają one to, czy dane użytkownika wejdą do modelu danych użytkownika i jakie dane są zwracane podczas uzyskiwania dostępu do usługi internetowej)

Uwaga

Możesz zobaczyć, że eksperyment został zapisany w dwóch częściach na kartach, które zostały dodane w górnej części kanwy eksperymentu. Oryginalny eksperyment trenowania znajduje się na karcie Training experiment (Eksperyment trenowania), a nowo utworzony eksperyment predykcyjny znajduje się w obszarze Predictive experiment (Eksperyment predykcyjny). Eksperyment predykcyjny jest tym, który wdrożysz jako usługę internetową.

Musisz wykonać jeden dodatkowy krok dla tego konkretnego eksperymentu. Dodano dwa moduły Execute R Script (Wykonaj skrypt języka R), aby zapewnić funkcję określania wagi danych. To było po prostu obejście potrzebne do trenowania i testowania, więc możesz usunąć te moduły w ostatecznym modelu. Usługa Machine Learning Studio (klasyczna) usunęła jeden moduł Execute R Script (Wykonywanie skryptu języka R) po usunięciu modułu Split (Podział). Teraz możesz usunąć drugi i połączyć element Metadata Editor (Edytor metadanych) bezpośrednio z modułem Score Model (Wygeneruj wyniki dla modelu).

Nasz eksperyment powinien teraz wyglądać następująco:

Generowanie wyników dla wytrenowanego modelu

Uwaga

Możesz się zastanawiać, dlaczego w eksperymencie predykcyjnym został pozostawiony zestaw danych dla danych niemieckiej karty kredytowej UCI. Usługa będzie generować wyniki dla danych użytkownika, a nie oryginalnego zestawu danych, więc po co zostawiać oryginalny zestaw danych w modelu?

Prawdą jest, że usługa nie potrzebuje oryginalnych danych karty kredytowej. Ale potrzebuje ona schematu dla danych, który zawiera takie informacje, jak liczba istniejących kolumn i które kolumny są liczbowe. Te informacje schematu są niezbędne do interpretacji danych użytkownika. Możesz pozostawić te składniki połączone tak, aby moduł generowania wyników miał schemat zestawu danych, gdy usługa jest uruchomiona. Dane nie są używane, a tylko schemat.

Warto zwrócić uwagę na jedną ważną sprawę, a mianowicie, że jeśli oryginalny zestaw danych zawierał etykietę, wówczas oczekiwany schemat z internetowych danych wejściowych będzie również oczekiwał kolumny z etykietą. Obejściem tego problemu jest usunięcie etykiety i wszelkich innych danych, które znajdowały się w treningowym zestawie danych, ale nie będą się znajdowały w internetowych danych wejściowych przed nawiązaniem połączenia internetowych danych wejściowych i zestawu danych szkoleniowych ze wspólnym modułem.

Uruchom eksperyment po raz ostatni (kliknij pozycję Uruchom). Jeśli chcesz sprawdzić, czy model nadal działa, kliknij dane wyjściowe modułu Score Model (Generowanie wyników dla modelu ) i wybierz pozycję View Results (Wyświetl wyniki). Zobaczysz, że są wyświetlane oryginalne dane wraz z wartością ryzyka kredytowego („Scored Labels”, Wyliczone wyniki dla etykiet) i wartością generowania wyniku dla prawdopodobieństwa („Scored Probabilities”, Wyliczone wyniki dla prawdopodobieństw).

Wdrażanie usługi internetowej

Możesz wdrożyć eksperyment jako klasyczną usługę internetową albo jako nową usługę internetową, która jest oparta na usłudze Azure Resource Manager.

Wdrażanie w postaci klasycznej usługi internetowej

Aby wdrożyć klasyczną usługę internetową pochodzącą z naszego eksperymentu, kliknij pozycję Deploy Web Service (Wdróż usługę internetową) poniżej kanwy, a następnie wybierz pozycję Deploy Web Service [Classic] (Wdróż usługę internetową [klasyczną]). Usługa Machine Learning Studio (klasyczna) wdraża eksperyment jako usługę internetową i umożliwia przejście do pulpitu nawigacyjnego dla tej usługi internetowej. Na tej stronie możesz wrócić do eksperymentu (View snapshot (Wyświetl migawkę) lub View latest (Wyświetl najnowsze)) i uruchomić prosty test usługi internetowej (zobacz Testowanie usługi internetowej poniżej). Istnieją również tutaj informacje dotyczące tworzenia aplikacji mogących uzyskiwać dostęp do usługi internetowej (więcej informacji na ten temat znajdziesz w następnym kroku tego samouczka).

Pulpit nawigacyjny usługi internetowej

Usługę można skonfigurować, klikając kartę KONFIGURACJA . W tym miejscu możesz zmodyfikować nazwę usługi (domyślnie nadaj jej nazwę eksperymentu) i podać jej opis. Możesz również określić bardziej przyjazne etykiety dla danych wejściowych i wyjściowych.

Konfigurowanie usługi internetowej

Wdrażanie w postaci nowej usługi internetowej

Uwaga

Aby wdrożyć nową usługę internetową, musisz mieć wystarczające uprawnienia w ramach subskrypcji, w której wdrażasz tę usługę. Aby uzyskać więcej informacji, zobacz Zarządzanie usługą internetową przy użyciu portalu usług sieci Web Machine Learning.

Aby wdrożyć nową usługę internetową pochodzącą z naszego eksperymentu:

  1. Kliknij pozycję Deploy Web Service (Wdróż usługę internetową) poniżej kanwy, a następnie wybierz pozycję Deploy Web Service [New] (Wdróż usługę internetową [nową]). Usługa Machine Learning Studio (wersja klasyczna) przenosi Cię do strony Usługi sieci Web Machine Learning Deploy Experiment (Wdrażanie eksperymentu ).

  2. Wprowadź nazwę składnika usługi sieci Web.

  3. Aby uzyskać plan cenowy, możesz wybrać istniejący plan cenowy lub wybrać pozycję „Create new” (Utwórz nową) oraz nadać nowemu planowi nazwę i wybrać opcję planu miesięcznego. Plan domyślnie jest dzielony na warstwy planów dla domyślnego regionu, a usługi internetowe są wdrażane dla tego regionu.

  4. Kliknij pozycję Wdróż.

Po kilku minutach zostanie otwarta strona Quickstart (Szybki start) Twojej usługi internetowej.

Usługę można skonfigurować, klikając kartę Konfiguruj . W tym miejscu możesz zmodyfikować tytuł usługi i nadać mu opis.

Aby przetestować usługę internetową, kliknij kartę Test (zobacz Testowanie usługi internetowej poniżej). Aby uzyskać informacje na temat tworzenia aplikacji, które mogą uzyskać dostęp do usługi internetowej, kliknij kartę Consume (Zużywanie) (następny krok w tym samouczku będzie zawierał więcej szczegółów).

Napiwek

Po jej wdrożeniu możesz zaktualizować usługę internetową. Na przykład jeśli chcesz zmienić model, wówczas możesz edytować eksperyment szkoleniowy, dostosować parametry modelu, a następnie kliknij pozycję Deploy Web Service (Wdróż usługę internetową), wybierając pozycję Deploy Web Service [Classic ]\(Wdróż usługę internetową [klasyczną]) lub Deploy Web Service [New] \(Wdróż usługę internetową [nową]). Gdy ponownie wdrożysz eksperyment, zastąpi on usługę internetową, używając teraz zaktualizowanego modelu.

Testowanie usługi internetowej

Podczas uzyskiwania dostępu do usługi internetowej dane użytkownika są wprowadzane za pośrednictwem modułu Web service input (Dane wejściowe usługi internetowej), w którym są przekazywane do modułu Score Model (Wygeneruj wyniki dla modelu) i oceniane. W oparciu o skonfigurowanie eksperymentu predykcyjnego model oczekuje danych w tym samym formacie, co oryginalny zestaw danych ryzyka kredytowego. Wyniki są zwracane użytkownikowi z usługi internetowej za pośrednictwem modułu Web service output (Dane wyjściowe usługi internetowej).

Napiwek

W oparciu o skonfigurowanie eksperymentu predykcyjnego są zwracane wyniki z modułu Score Model (Wygeneruj wyniki dla modelu). Obejmuje to wszystkie dane wejściowe oraz wartość ryzyka kredytowego i generowania wyniku dla prawdopodobieństwa. Ale jeśli chcesz, możesz zwrócić coś innego — na przykład możesz zwrócić tylko wartość ryzyka kredytowego. W tym celu wstaw moduł Select Columns (Wybieranie kolumn) między kolumnami Score Model (Generowanie wyników) i danymi wyjściowymi usługi sieci Web, aby wyeliminować kolumny, które nie mają być zwracane przez usługę internetową.

Możesz przetestować klasyczną usługę internetową w usłudze Machine Learning Studio (klasycznym) lub w portalu usług sieci Web Azure Machine Learning. Nową usługę internetową możesz przetestować tylko w portalu usług internetowych usługi Machine Learning.

Napiwek

Podczas testowania w portalu usług sieci Web Machine Learning można utworzyć przykładowe dane, których można użyć do przetestowania usługi Request-Response. Na stronie Configure (Konfiguracja) wybierz opcję „Yes” (Tak) dla pozycji Sample Data Enabled? (Włączono przykładowe dane?). Gdy otworzysz kartę żądanie-odpowiedź na stronie Test, portal wypełni przykładowe dane pobierane z oryginalnego zestawu danych ryzyka kredytowego.

Testowanie klasycznej usługi internetowej

Możesz przetestować klasyczną usługę internetową w usłudze Machine Learning Studio (klasycznym) lub w portalu usług sieci Web Machine Learning.

Testowanie w usłudze Machine Learning Studio (wersja klasyczna)

  1. Na stronie DASHBOARD (PULPIT NAWIGACYJNY) usługi internetowej kliknij przycisk Test w obszarze Default Endpoint (Domyślny punkt końcowy). Pojawi się okno dialogowe i poprosi o dane wejściowe dla usługi. Są to te same kolumny, które znajdowały się w oryginalnym zestawie danych ryzyka kredytowego.

  2. Wprowadź zestaw danych, a następnie kliknij przycisk OK.

Testowanie w portalu usług internetowych usługi Machine Learning

  1. Na stronie DASHBOARD (PULPIT NAWIGACYJNY) usługi internetowej kliknij link Test preview (Podgląd testu) w obszarze Default Endpoint (Domyślny punkt końcowy). Zostanie otwarta strona testowa w portalu usług sieci Web usługi Machine Learning dla punktu końcowego usługi internetowej i zostanie wyświetlona prośba o podanie danych wejściowych dla usługi. Są to te same kolumny, które znajdowały się w oryginalnym zestawie danych ryzyka kredytowego.

  2. Kliknij pozycję Test Request-Response (Testowanie usługi żądanie-odpowiedź).

Testowanie nowej usługi internetowej

Nową usługę internetową możesz przetestować tylko w portalu usług internetowych usługi Machine Learning.

  1. W portalu usług sieci Web Machine Learning kliknij pozycję Testuj w górnej części strony. Zostanie otwarta strona Test, gdzie możesz wprowadzić dane dla usługi. Wyświetlane pola wejściowe odpowiadają kolumnom, które były wyświetlane w oryginalnym zestawie danych ryzyka kredytowego.

  2. Wprowadź zestaw danych, a następnie kliknij pozycję Test Request-Response (Testowanie usługi żądanie-odpowiedź).

Wyniki testu są wyświetlane w prawej części strony w kolumnie wyników.

Zarządzanie usługą internetową

Po wdrożeniu usługi internetowej , zarówno klasycznej, jak i nowej, możesz zarządzać nią z poziomu portalu usług sieci Web Machine Learning.

Aby monitorować wydajność Twojej usługi internetowej:

  1. Zaloguj się do portalu usług sieci Web Machine Learning
  2. Kliknij pozycję Web services (Usługi internetowe)
  3. Kliknij swoją usługę internetową
  4. Kliknij pozycję Dashboard (Pulpit nawigacyjny)

Uzyskiwanie dostępu do usługi sieci Web

W poprzednim kroku tego samouczka została wdrożona usługa internetowa, która używa Twojego modelu przewidywania ryzyka kredytowego. Teraz użytkownicy będą mogli wysyłać do niej dane i otrzymywać wyniki.

Usługa internetowa to usługa internetowa platformy Azure, która może odbierać i zwracać dane przy użyciu interfejsów API REST na jeden z dwóch sposobów:

  • Żądanie/odpowiedź — użytkownik wysyła co najmniej jeden wiersz danych kredytowych do usługi przy użyciu protokołu HTTP, a usługa odpowiada za pomocą co najmniej jednego zestawu wyników.
  • Wykonywanie wsadowe — użytkownik przechowuje jeden lub więcej wierszy danych kredytowych w obiekcie blob platformy Azure, a następnie wysyła lokalizację obiektu blob do usługi. Usługa generuje wyniki dla wszystkich wierszy danych w wejściowym obiekcie blob, zapisuje wyniki w innym obiekcie blob, a następnie zwraca adres URL tego kontenera.

Uwaga

W nazwach kolumn funkcji w programie Studio (wersja klasyczna) jest rozróżniana wielkość liter. Upewnij się, że dane wejściowe do wywoływania usługi internetowej mają takie same nazwy kolumn jak w zestawie danych szkoleniowych.

Aby uzyskać więcej informacji na temat uzyskiwania dostępu do usługi internetowej i korzystania z nich, zobacz Korzystanie z usługi sieci Web Machine Learning przy użyciu szablonu aplikacji internetowej.

Czyszczenie zasobów

Jeśli nie potrzebujesz już zasobów, które zostały utworzone w tym artykule, usuń je, aby uniknąć ponoszenia opłat. Aby dowiedzieć się, jak to zrobić, zapoznaj się z artykułem Export and delete in-product user data (Eksportowanie i usuwanie danych użytkownika w produkcie).

Następne kroki

W tym samouczku zostały wykonane następujące kroki:

  • Przygotowanie do wdrożenia
  • Wdrażanie usługi internetowej
  • Testowanie usługi internetowej
  • Zarządzanie usługą internetową
  • Uzyskiwanie dostępu do usługi sieci Web

Możesz również opracować niestandardową aplikację do uzyskiwania dostępu do usługi internetowej przy użyciu kodu startowego dostarczanego w językach programowania R, C# i Python.