Samouczek 2. Trenowanie modeli ryzyka kredytowego — Machine Learning Studio (wersja klasyczna)
DOTYCZY: Machine Learning Studio (wersja klasyczna)
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).
- Zobacz informacje na temat przenoszenia projektów uczenia maszynowego z usługi ML Studio (klasycznej) do usługi Azure Machine Learning.
- Dowiedz się więcej o usłudze Azure Machine Learning
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. Ten samouczek jest drugą częścią trzyczęściowej serii samouczków.
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 tej części samouczka zostaną wykonane następujące czynności:
- Trenowanie wielu modeli
- Generowanie wyników dla modeli i ich ewaluacja
W trzeciej części samouczka wdrożysz model jako usługę internetową.
Wymagania wstępne
Wykonanie pierwszej części samouczka.
Trenowanie wielu modeli
Jedną z zalet korzystania z usługi Machine Learning Studio (klasycznej) do tworzenia modeli uczenia maszynowego jest możliwość wypróbowania więcej niż jednego typu modelu jednocześnie w jednym eksperymencie i porównywaniu wyników. Taki eksperyment ułatwia znalezienie najlepszego rozwiązania problemu.
W ramach eksperymentu opracowywanego w tym samouczku utworzysz dwa różne typy modelu i porównasz wyniki ich oceny, aby określić, który algorytm ma zostać użyty w końcowym eksperymencie.
Masz do wyboru różne modele. Aby wyświetlić dostępne modele, rozwiń węzeł Machine Learning na palecie modułów, a następnie rozwiń węzeł Initialize Model (Inicjuj model) i węzły znajdujące się poniżej. Na potrzeby tego eksperymentu wybierzesz moduły Two-Class Support Vector Machine — SVM (Dwuklasowa maszyna wektorów nośnych) i Two-Class Boosted Decision Tree (Dwuklasowe wzmocnione drzewo decyzyjne).
W tym eksperymencie dodasz zarówno moduł Two-Class Boosted Decision Tree (Dwuklasowe wzmocnione drzewo decyzyjne), jak i Two-Class Support Vector Machine (Dwuklasowa maszyna wektorów nośnych).
Two-Class Boosted Decision Tree (Dwuklasowe wzmocnione drzewo decyzyjne)
Najpierw skonfiguruj model wzmocnionego drzewa decyzyjnego.
Znajdź moduł Two-Class Boosted Decision Tree (Dwuklasowe wzmocnione drzewo decyzyjne) na palecie modułów i przeciągnij go na kanwę.
Znajdź moduł Train Model (Trenowanie modelu), przeciągnij go na kanwę, a następnie połącz wyjście modułu Two-Class Boosted Decision Tree (Dwuklasowe wzmocnione drzewo decyzyjne) z lewym portem wejściowym modułu Train Model (Trenowanie modelu).
Moduł Two-Class Boosted Decision Tree (Dwuklasowe wzmocnione drzewo decyzyjne) inicjuje ogólny model, a moduł Train Model (Trenowanie modelu) używa danych trenowania do trenowania modelu.
Połącz lewe wyjście lewego modułu Execute R Script (Wykonanie skryptu R) z prawym portem wejściowym modułu Train Model (Trenowanie modelu). W tym samouczku użyto do trenowania danych pochodzących z lewej strony modułu Split Data (Dzielenie danych).
Napiwek
Nie potrzebujesz dwóch wejść i jednego z wyjść modułu Execute R Script (Wykonanie skryptu R) do tego eksperymentu, więc możesz pozostawić je bez połączenia.
Ta część eksperymentu teraz wygląda mniej więcej tak:
Teraz trzeba poinformować moduł Train Model (Trenowanie modelu) o tym, że ma on przewidywać wartość ryzyka kredytowego.
Wybierz moduł Train Model (Trenowanie modelu). W okienku Properties (Właściwości) kliknij pozycję Launch column selector (Uruchom selektor kolumn).
W oknie dialogowym Select a single column (Wybieranie pojedynczej kolumny) wpisz „credit risk” („ryzyko kredytowe”) w polu wyszukiwania w obszarze Available Columns (Dostępne kolumny), wybierz pozycję „Credit risk” („Ryzyko kredytowe”) poniżej i kliknij przycisk strzałki w prawo (>) aby przenieść pozycję „Credit risk” („Ryzyko kredytowe”) do pola Selected Columns (Wybrane kolumny).
Kliknij znacznik wyboru OK.
Two-Class Support Vector Machine (Dwuklasowa maszyna wektorów nośnych)
Następnie skonfigurujesz model SVM.
Najpierw krótko objaśnimy model SVM. Wzmocnione drzewa decyzyjne dobrze współpracują z cechami dowolnego typu. Jednak ponieważ moduł SVM generuje klasyfikator liniowy, wygenerowany przez niego model ma najlepszy błąd testu, gdy wszystkie cechy liczbowe mają tę samą skalę. Aby przekonwertować wszystkie cechy liczbowe do tej samej skali, użyjesz transformacji „Tanh”(z modułem Normalize Data(Normalizacja danych)). W ten sposób liczby zostaną przetransformowane do zakresu [0,1]. Moduł SVM konwertuje cechy ciągu na cechy kategorialne, a następnie na binarne cechy 0/1, więc nie musisz ręcznie transformować cech ciągu. Ponadto nie należy transformować kolumny 21 Credit Risk (Ryzyko kredytowe) — jest to kolumna liczbowa, lecz zawiera także wartość, pod kątem przewidywania której moduł jest trenowany, dlatego należy pozostawić ją bez zmian.
Aby skonfigurować model SVM, wykonaj następujące działania:
Znajdź moduł Two-Class Support Vector Machine (Dwuklasowa maszyna wektorów nośnych) na palecie modułów i przeciągnij go na kanwę.
Kliknij prawym przyciskiem myszy moduł Train Model (Trenowanie modelu), wybierz pozycję Copy (Kopiuj), a następnie kliknij prawym przyciskiem myszy kanwę i wybierz pozycję Paste (Wklej). Kopia modułu Train Model (Trenowanie modelu) ma wybrane te same kolumny co oryginał.
Połącz wyjście modułu Two-Class Support Vector Machine (Dwuklasowa maszyna wektorów nośnych) z lewym portem wejściowym drugiego modułu Train Model (Trenowanie modelu).
Znajdź moduł Normalize Data (Normalizacja danych) i przeciągnij go na kanwę.
Połącz lewe wyjście lewego modułu Execute R Script (Wykonanie skryptu R) z wejściem tego modułu (zwróć uwagę na to, że port wyjściowy modułu może być połączony z wieloma modułami).
Połącz lewy port wyjściowy modułu Normalize Data (Normalizacja danych) z prawym portem wejściowym drugiego modułu Train Model (Trenowanie modelu).
Ta część eksperymentu powinna teraz wyglądać mniej więcej tak:
Teraz skonfiguruj moduł Normalize Data (Normalizacja danych):
Kliknij, aby wybrać moduł Normalize Data (Normalizacja danych). W okienku Properties (Właściwości) wybierz wartość Tanh dla parametru Transformation method (Metoda transformacji).
Kliknij pozycję Launch column selector (Uruchom selektor kolumn), wybierz opcję „No columns” („Bez kolumn”) dla pozycji Begin With (Rozpocznij z), wybierz pozycję Include (Dołącz) na pierwszej liście rozwijanej, wybierz pozycję column type (typ kolumny) na drugiej liście rozwijanej i pozycję Numeric (Liczbowa) na trzeciej liście rozwijanej. W ten sposób określono, że wszystkie kolumny liczbowe (i tylko liczbowe) są przekształcane.
Kliknij znak plus (+) z prawej strony tego wiersza — spowoduje to utworzenie wiersza list rozwijanych. Wybierz pozycję Exclude (Wyklucz) na pierwszej liście rozwijanej, wybierz pozycję column names (nazwy kolumn) na drugiej liście rozwijanej, a następnie wpisz „Credit risk” („Ryzyko kredytowe”) w polu tekstowym. W ten sposób określono, że kolumna Credit Risk (Ryzyko kredytowe) ma być ignorowana (jest to konieczne, ponieważ jest to kolumna liczbowa i byłaby przekształcana, jeśli nie zostałaby wykluczona).
Kliknij znacznik wyboru OK.
Moduł Normalize Data (Normalizacja danych) będzie teraz wykonywał przekształcenie Tanh dla wszystkich kolumn liczbowych z wyjątkiem kolumny Credit Risk (Ryzyko kredytowe).
Generowanie wyników dla modeli i ich ewaluacja
Dane testowe wydzielone za pomocą modułu Split Data (Dzielenie danych) są używane do oceny trenowanych modeli. Następnie można porównać wyniki dwóch modeli, aby zobaczyć, który wygenerował lepsze wyniki.
Dodawanie modułów Score Model (Generowanie wyników dla modelu)
Znajdź moduł Score Model (Generowanie wyników dla modelu) i przeciągnij go na kanwę.
Połącz moduł Train Model (Trenowanie modelu) połączony z modułem Two-Class Boosted Decision Tree (Dwuklasowe wzmocnione drzewo decyzyjne) z lewym portem wejściowym modułu Score Model (Generowanie wyników dla modelu).
Połącz prawy moduł Execute R Script (Wykonanie skryptu R), czyli dane testowe, z prawym portem wejściowym modułu Score Model (Generowanie wyników dla modelu).
Moduł Score Model (Generowanie wyników dla modelu) może teraz pobrać informacje kredytowe z danych testowych, przetworzyć je za pomocą modelu i porównać przewidywania wygenerowane przez model z kolumną rzeczywistego ryzyka kredytowego w danych testowych.
Skopiuj i wklej moduł Score Model (Generowanie wyników dla modelu), aby utworzyć drugą kopię.
Połącz wyjście modelu SVM (tzn. port wyjściowy modułu Train Model — Trenowanie modelu — połączonego z modułem Two-Class Support Vector Machine — Dwuklasowa maszyna wektorów nośnych) z portem wejściowym drugiego modułu Score Model (Generowanie wyników dla modelu).
W przypadku modelu SVM należy wykonać tę samą transformację danych testowych co w przypadku danych treningowych. W tym celu skopiuj i wklej moduł Normalize Data (Normalizacja danych), aby utworzyć drugą kopię, i połącz go z prawym modułem Execute R Script (Wykonanie skryptu R).
Połącz lewe wyjście drugiego modułu Normalize Data (Normalizacja danych) z prawym portem wejściowym drugiego modułu Score Model (Generowanie wyników dla modelu).
Dodawanie modułu Evaluate Model (Ewaluacja modelu)
Aby ewaluować dwa wyniki oceny i porównać je, należy użyć modułu Evaluate Model (Ewaluacja modelu).
Znajdź moduł Evaluate Model (Ewaluacja modelu) i przeciągnij go na kanwę.
Połącz port wyjściowy modułu Score Model (Generowanie wyników dla modelu) skojarzonego z modelem wzmocnionego drzewa decyzyjnego z lewym portem wejściowym modułu Evaluate Model (Ewaluacja modelu).
Połącz drugi moduł Score Model (Generowanie wyników dla modelu) z prawym portem wejściowym.
Uruchomienie eksperymentu i sprawdzenie wyników
Aby uruchomić eksperyment, kliknij przycisk RUN (URUCHOM) poniżej kanwy. Może to potrwać kilka minut. Obracający się wskaźnik na każdym module oznacza, że moduł działa, a następnie zielony znacznik wyboru oznacza, że moduł zakończył pracę. Gdy wszystkie moduły mają zielony znacznik wyboru, oznacza to, że działanie eksperymentu zostało zakończone.
Eksperyment powinien wyglądać teraz mniej więcej tak:
Aby sprawdzić wyniki, kliknij port wyjściowy modułu Evaluate Model (Ewaluacja modelu), a następnie wybierz pozycję Visualize (Wizualizuj).
Moduł Evaluate Model (Ewaluacja modelu) generuje parę krzywych i metryk, które umożliwiają porównanie wyników dwóch ocenionych modeli. Wyniki można wyświetlić w postaci krzywych operacyjno-charakterystycznych, Dokładność/Czułość lub Wzrost. Dodatkowe wyświetlane dane obejmują macierz błędów, skumulowane wartości dla obszaru pod krzywą i inne metryki. Wartość progu można zmienić, przesuwając suwak w lewo lub w prawo i obserwując, jak wpływa to na zestaw metryk.
Po prawej stronie wykresu kliknij pozycję Scored dataset (Oceniony zestaw danych) lub Scored dataset to compare (Oceniony zestaw danych do porównania), aby wyróżnić skojarzoną krzywą i wyświetlić skojarzone metryki poniżej. W legendzie dla krzywych pozycja „Scored dataset” („Oceniony zestaw danych”) odnosi się do lewego portu wejściowego modułu Evaluate Model (Ewaluacja modelu) — w naszym przypadku jest to model wzmocnionego drzewa decyzyjnego. Pozycja „Scored dataset to compare” („Oceniony zestaw danych do porównania”) odnosi się do prawego portu wejściowego — w naszym przypadku jest to model SVM. Po kliknięciu jednej z tych etykiet krzywa dla danego modelu zostanie wyróżniona, a odpowiadające metryki zostaną wyświetlone, jak pokazano na poniższym rysunku.
Badając te wartości, możesz zdecydować, który model daje wyniki najbardziej zbliżone do wyników, których szukasz. Możesz wrócić do eksperymentu i powtórzyć go, zmieniając wartości parametrów w różnych modelach.
Nauka i sztuka interpretowania tych wyników i strojenie wydajności modelu wykracza poza zakres tego samouczka. Aby uzyskać dodatkową pomoc, możesz przeczytać następujące artykuły:
- Jak ocenić wydajność modelu w usłudze Machine Learning Studio (wersja klasyczna)
- Wybieranie parametrów w celu zoptymalizowania algorytmów w usłudze Machine Learning Studio (wersja klasyczna)
- Interpretowanie wyników modelu w usłudze Machine Learning Studio (wersja klasyczna)
Napiwek
Każde uruchomienie eksperymentu powoduje zapisanie rekordu iteracji w historii uruchamiania. Te iteracje możesz wyświetlić i wrócić do dowolnej z nich, klikając pozycję VIEW RUN HISTORY (WYŚWIETL HISTORIĘ URUCHAMIANIA) poniżej kanwy. Możesz także kliknąć pozycję Prior Run (Poprzednie uruchomienie) w okienku Properties (Właściwości), aby wrócić do iteracji bezpośrednio poprzedzającej obecnie otwartą iterację.
Kopię dowolnej iteracji eksperymentu można utworzyć, klikając pozycję SAVE AS (ZAPISZ JAKO) poniżej kanwy. Użyj właściwości Summary (Podsumowanie) i Description (Opis) eksperymentu, aby zanotować własne informacje dotyczące celów iteracji eksperymentu.
Aby uzyskać więcej informacji, zobacz Zarządzanie iteracjami eksperymentów w usłudze Machine Learning Studio (wersja klasyczna).
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:
- Tworzenie eksperymentu
- Trenowanie wielu modeli
- Generowanie wyników dla modeli i ich ewaluacja
Teraz możesz przystąpić do wdrażania modeli dla danych.