Samouczek: Projektant — trenowanie modelu regresji bez kodu
Trenowanie modelu regresji liniowej, który przewiduje ceny samochodów przy użyciu projektanta usługi Azure Machine Learning. Ten samouczek jest pierwszą częścią dwuczęściowej serii.
W tym samouczku użyto projektanta usługi Azure Machine Learning, aby uzyskać więcej informacji, zobacz Co to jest projektant usługi Azure Machine Learning?
W części jednego z samouczków dowiesz się, jak wykonywać następujące działania:
- Utwórz nowy potok.
- Importowanie danych.
- Przygotowywanie danych.
- Trenowanie modelu uczenia maszynowego.
- Ocena modelu uczenia maszynowego.
W drugiej części samouczka wdrożysz model jako punkt końcowy wnioskowania w czasie rzeczywistym, aby przewidzieć cenę dowolnego samochodu na podstawie przesłanych specyfikacji technicznych.
Uwaga
Ukończona wersja tego samouczka jest dostępna jako przykładowy potok.
Aby go znaleźć, przejdź do projektanta w obszarze roboczym. W sekcji Nowy potok wybierz pozycję Przykład 1 — Regresja: Prognoza cen samochodów (podstawowa).
Ważne
Jeśli nie widzisz elementów graficznych wymienionych w tym dokumencie, takich jak przyciski w studio lub projektancie, być może nie masz odpowiedniego poziomu uprawnień do obszaru roboczego. Skontaktuj się z administratorem subskrypcji platformy Azure, aby sprawdzić, czy udzielono ci odpowiedniego poziomu dostępu. Aby uzyskać więcej informacji, zobacz Zarządzanie użytkownikami i rolami.
Tworzenie nowego potoku
Potoki usługi Azure Machine Learning organizują wiele kroków uczenia maszynowego i przetwarzania danych w jeden zasób. Potoki umożliwiają organizowanie, zarządzanie i ponowne używanie złożonych przepływów pracy uczenia maszynowego między projektami i użytkownikami.
Aby utworzyć potok usługi Azure Machine Learning, potrzebujesz obszaru roboczego usługi Azure Machine Learning. W tej sekcji dowiesz się, jak utworzyć oba te zasoby.
Tworzenie nowego obszaru roboczego
Do korzystania z projektanta potrzebujesz obszaru roboczego usługi Azure Machine Learning. Obszar roboczy to zasób najwyższego poziomu dla usługi Azure Machine Learning, który zapewnia scentralizowane miejsce do pracy ze wszystkimi artefaktami tworzonymi w usłudze Azure Machine Learning. Aby uzyskać instrukcje dotyczące tworzenia obszaru roboczego, zobacz Tworzenie zasobów obszaru roboczego.
Uwaga
Jeśli w obszarze roboczym jest używana sieć wirtualna, należy użyć dodatkowych kroków konfiguracji do korzystania z projektanta. Aby uzyskać więcej informacji, zobacz Używanie Azure Machine Learning studio w sieci wirtualnej platformy Azure
Tworzenie potoku
Uwaga
Projektant obsługuje dwa typy składników, klasyczne wstępnie utworzone składniki i składniki niestandardowe. Te dwa typy składników nie są zgodne.
Klasyczne wstępnie utworzone składniki zapewniają wstępnie utworzone składniki na potrzeby przetwarzania danych i tradycyjnych zadań uczenia maszynowego, takich jak regresja i klasyfikacja. Ten typ składnika nadal jest obsługiwany, ale nie będzie miał żadnych nowych składników dodanych.
Składniki niestandardowe umożliwiają podanie własnego kodu jako składnika. Obsługuje udostępnianie między obszarami roboczymi i bezproblemowe tworzenie w interfejsach Studio, interfejsu wiersza polecenia i zestawu SDK.
Ten artykuł dotyczy klasycznych wstępnie utworzonych składników.
Zaloguj się do ml.azure.com i wybierz obszar roboczy, z którym chcesz pracować.
Wybierz projektanta —>wstępnie skompilowany klasyczny
Wybierz pozycję Utwórz nowy potok przy użyciu wstępnie utworzonych składników klasycznych.
Kliknij ikonę ołówka obok automatycznie wygenerowanej nazwy wersji roboczej potoku, zmień jej nazwę na Przewidywanie cen samochodów. Nazwa nie musi być unikatowa.
Ustawianie domyślnego docelowego obiektu obliczeniowego
Zadania potoku w docelowym obiekcie obliczeniowym, który jest zasobem obliczeniowym dołączonym do obszaru roboczego. Po utworzeniu docelowego obiektu obliczeniowego można go ponownie użyć w przyszłych zadaniach.
Ważne
Dołączone zasoby obliczeniowe nie są obsługiwane, zamiast tego należy używać wystąpień obliczeniowych ani klastrów .
Można ustawić domyślny docelowy obiekt obliczeniowy dla całego potoku, co spowoduje, że każdy składnik będzie domyślnie używać tego samego docelowego obiektu obliczeniowego. Można jednak określić docelowe obiekty obliczeniowe na podstawie poszczególnych modułów.
Wybierz
Ustawienia po prawej stronie kanwy, aby otworzyć okienko Ustawienia.
Wybierz pozycję Utwórz wystąpienie obliczeniowe usługi Azure ML.
Jeśli masz już dostępny cel obliczeniowy, możesz wybrać go z listy rozwijanej Wybierz wystąpienie obliczeniowe usługi Azure ML , aby uruchomić ten potok.
Wprowadź nazwę zasobu obliczeniowego.
Wybierz przycisk Utwórz.
Uwaga
Utworzenie zasobu obliczeniowego trwa około pięciu minut. Po utworzeniu zasobu można go ponownie użyć i pominąć ten czas oczekiwania dla przyszłych zadań.
Zasób obliczeniowy automatycznie skaluje się do zera węzłów, gdy jest bezczynny, aby zaoszczędzić koszt. Gdy używasz go ponownie po opóźnieniu, może wystąpić około pięciu minut czasu oczekiwania podczas skalowania w górę.
Importowanie danych
Istnieje kilka przykładowych zestawów danych dostępnych w projektancie do eksperymentowania. Na potrzeby tego samouczka użyj danych cen samochodów (nieprzetworzone).
Po lewej stronie kanwy potoku znajduje się paleta zestawów danych i składników. Wybierz pozycję Składnik —>przykładowe dane.
Wybierz zestaw danych Dane cen samochodów (nieprzetworzone) i przeciągnij go na kanwę.
Wizualizacja danych
Możesz wizualizować dane, aby zrozumieć używany zestaw danych.
Kliknij prawym przyciskiem myszy dane cen samochodów (nieprzetworzone) i wybierz pozycję Dane podglądu.
Wybierz różne kolumny w oknie danych, aby wyświetlić informacje o poszczególnych kolumnach.
Każdy wiersz reprezentuje samochód, a zmienne skojarzone z poszczególnymi samochodami są wyświetlane jako kolumny. W tym zestawie danych znajduje się 205 wierszy i 26 kolumn.
Przygotowywanie danych
Zestawy danych zwykle wymagają wstępnego przetwarzania przed analizą. Podczas inspekcji zestawu danych może wystąpić kilka brakujących wartości. Te brakujące wartości muszą być oczyszczone, aby model mógł prawidłowo analizować dane.
Usuwanie kolumny
Podczas trenowania modelu musisz wykonać coś na temat brakujących danych. W tym zestawie danych brakuje kolumny normalized-losses (Znormalizowane straty), więc całkowicie wykluczysz tę kolumnę z modelu.
W obszarze zestawów danych i palety składników po lewej stronie kanwy kliknij pozycję Składnik i wyszukaj składnik Select Columns in Dataset (Wybieranie kolumn w zestawie danych ).
Przeciągnij składnik Select Columns in Dataset (Wybieranie kolumn w zestawie danych ) na kanwę. Upuść składnik poniżej składnika zestawu danych.
Połącz zestaw danych Dane cen samochodów (nieprzetworzone) z składnikiem Select Columns in Dataset (Wybieranie kolumn w zestawie danych ). Przeciągnij z portu wyjściowego zestawu danych, który jest małym okręgiem u dołu zestawu danych na kanwie, do portu wejściowego Wybierz kolumny w zestawie danych, który jest małym okręgiem u góry składnika.
Porada
Przepływ danych jest tworzony za pośrednictwem potoku podczas łączenia portu wyjściowego jednego składnika z portem wejściowym innego.
Wybierz składnik Select Columns in Dataset (Wybieranie kolumn w zestawie danych ).
Kliknij ikonę strzałki w obszarze Ustawienia po prawej stronie kanwy, aby otworzyć okienko szczegółów składnika. Alternatywnie możesz kliknąć dwukrotnie składnik Select Columns in Dataset (Wybieranie kolumn w zestawie danych), aby otworzyć okienko szczegółów.
Wybierz pozycję Edytuj kolumnę po prawej stronie okienka.
Rozwiń listę rozwijaną Nazwy kolumn obok pozycji Dołącz, a następnie wybierz pozycję Wszystkie kolumny.
Wybierz element , + aby dodać nową regułę.
Z menu rozwijanych wybierz pozycję Wyklucz i Nazwy kolumn.
Wprowadź wartość normalized-losses (znormalizowane straty ) w polu tekstowym.
W prawym dolnym rogu wybierz pozycję Zapisz , aby zamknąć selektor kolumn.
W okienku Szczegółów składnika Select Columns in Dataset (Wybieranie kolumn w zestawie danych ) rozwiń węzeł Informacje o węźle.
Zaznacz pole tekstowe Komentarz i wprowadź pozycję Wyklucz znormalizowane straty.
Komentarze będą wyświetlane na grafie, aby ułatwić organizowanie potoku.
Czyszczenie brakujących danych
Zestaw danych nadal zawiera brakujące wartości po usunięciu kolumny normalized-losses (znormalizowane straty ). Pozostałe brakujące dane można usunąć przy użyciu składnika Clean Missing Data (Czyszczenie brakujących danych ).
Porada
Czyszczenie brakujących wartości z danych wejściowych jest wymaganiem wstępnym do używania większości składników w projektancie.
W zestawach danych i palecie składników po lewej stronie kanwy kliknij pozycję Składnik i wyszukaj składnik Clean Missing Data (Czyszczenie brakujących danych ).
Przeciągnij składnik Clean Missing Data (Czyszczenie brakujących danych ) na kanwę potoku. Połącz go ze składnikiem Select Columns in Dataset (Wybieranie kolumn w zestawie danych ).
Wybierz składnik Clean Missing Data (Czyszczenie brakujących danych ).
Kliknij ikonę strzałki w obszarze Ustawienia po prawej stronie kanwy, aby otworzyć okienko szczegółów składnika. Alternatywnie możesz kliknąć dwukrotnie składnik Clean Missing Data (Czyszczenie brakujących danych ), aby otworzyć okienko szczegółów.
Wybierz pozycję Edytuj kolumnę po prawej stronie okienka.
W wyświetlonym oknie Kolumny do oczyszczenia rozwiń menu rozwijane obok pozycji Uwzględnij. Wybierz, Wszystkie kolumny
Wybierz pozycję Zapisz
W okienku Szczegółów składnika Clean Missing Data (Czyszczenie brakujących danych ) w obszarze Tryb czyszczenia wybierz pozycję Usuń cały wiersz.
W okienku Szczegółów składnika Clean Missing Data (Czyszczenie brakujących danych ) rozwiń węzeł Informacje o węźle.
Zaznacz pole tekstowe Komentarz i wprowadź usuń brakujące wiersze wartości.
Potok powinien teraz wyglądać mniej więcej tak:
Trenowanie modelu uczenia maszynowego
Teraz, gdy masz już składniki do przetwarzania danych, możesz skonfigurować składniki trenowania.
Ponieważ chcesz przewidzieć cenę, czyli liczbę, możesz użyć algorytmu regresji. W tym przykładzie użyto modelu regresji liniowej.
Dzielenie danych
Dzielenie danych to typowe zadanie w uczeniu maszynowym. Dane zostaną podzielone na dwa oddzielne zestawy danych. Jeden zestaw danych wytrenuje model, a drugi sprawdzi, jak dobrze działa model.
W obszarze zestawów danych i palety składników po lewej stronie kanwy kliknij pozycję Składnik i wyszukaj składnik Split Data (Podział danych ).
Przeciągnij składnik Split Data (Podział danych ) na kanwę potoku.
Połącz lewy port składnika Clean Missing Data (Czyszczenie brakujących danych ) ze składnikiem Split Data (Podział danych ).
Ważne
Upewnij się, że lewy port wyjściowy funkcji Clean Missing Data (Czyszczenie brakujących danych ) łączy się z podziałem danych. Lewy port zawiera oczyszczone dane. Właściwy port zawiera odrzucone dane.
Wybierz składnik Split Data (Podział danych ).
Kliknij ikonę strzałki w obszarze Ustawienia po prawej stronie kanwy, aby otworzyć okienko szczegółów składnika. Alternatywnie możesz kliknąć dwukrotnie składnik Split Data (Podział danych ), aby otworzyć okienko szczegółów.
W okienku Szczegóły podziału danych ustaw pozycję Ułamek wierszy w pierwszym zestawie danych wyjściowych na wartość 0,7.
Ta opcja dzieli 70 procent danych w celu wytrenowania modelu i 30 procent na potrzeby testowania. 70- procentowy zestaw danych będzie dostępny za pośrednictwem lewego portu wyjściowego. Pozostałe dane będą dostępne za pośrednictwem odpowiedniego portu wyjściowego.
W okienku Szczegóły podziału danych rozwiń węzeł Informacje o węźle.
Zaznacz pole tekstowe Komentarz i wprowadź podziel zestaw danych na zestaw treningowy (0.7) i zestaw testowy (0.3).
Trenowanie modelu
Trenowanie modelu przez nadanie mu zestawu danych zawierającego cenę. Algorytm tworzy model, który wyjaśnia relację między funkcjami a ceną prezentowaną przez dane treningowe.
W zestawach danych i palecie składników po lewej stronie kanwy kliknij pozycję Składnik i wyszukaj składnik Regresja liniowa .
Przeciągnij składnik Regresja liniowa na kanwę potoku.
W obszarze zestawów danych i palety składników po lewej stronie kanwy kliknij pozycję Składnik i wyszukaj składnik Train Model (Trenowanie modelu ).
Przeciągnij składnik Train Model (Trenowanie modelu ) na kanwę potoku.
Połącz dane wyjściowe składnika Regresja liniowa z lewym wejściem składnika Train Model (Trenowanie modelu ).
Połącz dane wyjściowe danych treningowych (lewy port) składnika Split Data (Podział danych ) z prawym wejściem składnika Train Model (Trenowanie modelu ).
Ważne
Upewnij się, że lewy port wyjściowy funkcji Split Data (Podział danych ) łączy się z modułem Train Model (Trenowanie modelu). Lewy port zawiera zestaw treningowy. Prawy port zawiera zestaw testów.
Wybierz składnik Train Model (Trenowanie modelu ).
Kliknij ikonę strzałki w obszarze Ustawienia po prawej stronie kanwy, aby otworzyć okienko szczegółów składnika. Alternatywnie możesz kliknąć dwukrotnie składnik Train Model (Trenowanie modelu ), aby otworzyć okienko szczegółów.
Wybierz pozycję Edytuj kolumnę po prawej stronie okienka.
W wyświetlonym oknie kolumny Etykieta rozwiń menu rozwijane i wybierz pozycję Nazwy kolumn.
W polu tekstowym wprowadź price (cena ), aby określić wartość przewidywaną przez model.
Ważne
Upewnij się, że nazwa kolumny została wprowadzona dokładnie. Nie wielką literą ceny.
Potok powinien wyglądać następująco:
Dodawanie składnika Score Model (Generowanie wyników dla modelu)
Po wyszkoleniu modelu przy użyciu 70 procent danych można go użyć do oceny pozostałych 30 procent, aby zobaczyć, jak dobrze działa model.
W zestawach danych i palecie składników po lewej stronie kanwy kliknij pozycję Składnik i wyszukaj składnik Score Model (Generowanie wyników dla modelu ).
Przeciągnij składnik Score Model (Generowanie wyników modelu ) na kanwę potoku.
Połącz dane wyjściowe składnika Train Model (Trenowanie modelu ) z lewym portem wejściowym modułu Score Model (Generowanie wyników dla modelu). Połącz dane wyjściowe danych testowych (prawy port) składnika Split Data (Podział danych ) z odpowiednim portem wejściowym modułu Score Model (Generowanie wyników modelu).
Dodawanie składnika Evaluate Model
Użyj składnika Evaluate Model (Ocena modelu ), aby ocenić, jak dobrze model ocenił testowy zestaw danych.
W obszarze zestawów danych i palety składników po lewej stronie kanwy kliknij pozycję Składnik i wyszukaj składnik Evaluate Model (Ocena modelu).
Przeciągnij składnik Evaluate Model (Ocena modelu ) na kanwę potoku.
Połącz dane wyjściowe składnika Score Model (Generowanie wyników dla modelu) z lewym wejściem elementu Evaluate Model (Ocena modelu).
Ostateczny potok powinien wyglądać mniej więcej tak:
Przesyłanie potoku
Teraz, gdy potok jest skonfigurowany, możesz przesłać zadanie potoku w celu wytrenowania modelu uczenia maszynowego. W dowolnym momencie można przesłać prawidłowe zadanie potoku, które może służyć do przeglądania zmian potoku podczas opracowywania.
W górnej części kanwy wybierz pozycję Prześlij.
W oknie dialogowym Konfigurowanie zadania potoku wybierz pozycję Utwórz nowy.
Uwaga
Eksperymenty grupują podobne zadania potoku. W przypadku wielokrotnego uruchamiania potoku możesz wybrać ten sam eksperyment dla kolejnych zadań.
W polu Nazwa nowego eksperymentu wprowadź tutorial-CarPrices.
Wybierz pozycję Prześlij.
W lewym okienku kanwy zostanie wyświetlona lista przesyłania, a w prawym górnym rogu strony pojawi się powiadomienie. Możesz wybrać link Szczegóły zadania , aby przejść do strony szczegółów zadania na potrzeby debugowania.
Jeśli jest to pierwsze zadanie, ukończenie działania potoku może potrwać do 20 minut. Domyślne ustawienia obliczeniowe mają minimalny rozmiar węzła wynoszący 0, co oznacza, że projektant musi przydzielić zasoby po bezczynności. Powtarzające się zadania potoku będą trwać krócej, ponieważ zasoby obliczeniowe są już przydzielane. Ponadto projektant używa buforowanych wyników dla każdego składnika w celu zwiększenia wydajności.
Wyświetlanie etykiet ocenianych
Na stronie szczegółów zadania można sprawdzić stan zadania potoku, wyniki i dzienniki.
Po zakończeniu zadania można wyświetlić wyniki zadania potoku. Najpierw przyjrzyj się przewidywaniom generowanym przez model regresji.
Kliknij prawym przyciskiem myszy składnik Score Model (Generowanie wyników modelu) i wybierz pozycję Preview dataScored dataset (Generowanie wyników dla modelu>), aby wyświetlić jego dane wyjściowe.
W tym miejscu można zobaczyć przewidywane ceny i rzeczywiste ceny z danych testowych.
Ocenianie modeli
Użyj modelu evaluate, aby zobaczyć, jak dobrze wytrenowany model został wykonany na zestawie danych testowych.
- Kliknij prawym przyciskiem myszy składnik Evaluate Model (Ocena modelu) i wybierz pozycję Preview dataEvaluation results (Podgląd wyników oceny danych>), aby wyświetlić jego dane wyjściowe.
Dla modelu są wyświetlane następujące statystyki:
- Średni błąd bezwzględny (MAE): średnia błędów bezwzględnych. Błąd to różnica między przewidywaną wartością a rzeczywistą wartością.
- Błąd średniokwadratowy (RMSE) : pierwiastek kwadratowy średniej kwadratu błędów przewidywania w zestawie danych testowych.
- Względny błąd absolutny: iloraz średniej błędów absolutnych i bezwzględnej wartości różnicy między wartościami rzeczywistymi a średnią wszystkich wartości rzeczywistych.
- Błąd względny średniokwadratowy: iloraz średniej kwadratów błędów i kwadratu różnicy między wartościami rzeczywistymi a średnią wszystkich wartości rzeczywistych.
- Współczynnik determinacji: znany również jako wartość kwadratowa języka R, ta metryka statystyczna wskazuje, jak dobrze model pasuje do danych.
W przypadku wszystkich powyższych statystyk mniejsze wartości oznaczają lepszą jakość modelu. Mniejsza wartość wskazuje, że przewidywania są bliżej rzeczywistych wartości. Dla współczynnika determinacji im bliżej jest jedna (1,0), tym lepiej są przewidywania.
Czyszczenie zasobów
Pomiń tę sekcję, jeśli chcesz kontynuować pracę z częścią 2 samouczka, wdrażanie modeli.
Ważne
Utworzone zasoby możesz wykorzystać na potrzeby wymagań wstępnych innych samouczków i artykułów dotyczących usługi Azure Machine Learning.
Usuń wszystko
Jeśli nie planujesz używać żadnych utworzonych elementów, usuń całą grupę zasobów, aby nie ponosić żadnych opłat.
W Azure Portal wybierz pozycję Grupy zasobów po lewej stronie okna.
Na liście wybierz utworzoną grupę zasobów.
Wybierz pozycję Usuń grupę zasobów.
Usunięcie grupy zasobów powoduje również usunięcie wszystkich zasobów utworzonych w projektancie.
Usuwanie pojedynczych zasobów
W projektancie, w którym utworzono eksperyment, usuń poszczególne zasoby, wybierając je, a następnie wybierając przycisk Usuń .
Utworzony tutaj obiekt docelowy obliczeniowy automatycznie skaluje automatycznie do zera węzłów, gdy nie jest używany. Ta akcja jest podejmowana w celu zminimalizowania opłat. Jeśli chcesz usunąć docelowy obiekt obliczeniowy, wykonaj następujące kroki:
Zestawy danych można wyrejestrować z obszaru roboczego, wybierając każdy zestaw danych i wybierając pozycję Wyrejestrowywanie.
Aby usunąć zestaw danych, przejdź do konta magazynu przy użyciu Azure Portal lub Eksplorator usługi Azure Storage i ręcznie usuń te zasoby.
Następne kroki
W drugiej części dowiesz się, jak wdrożyć model jako punkt końcowy w czasie rzeczywistym.