Udostępnij za pośrednictwem


Krzyżowe weryfikowanie modelu

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.

Krzyżowe sprawdzanie szacowania parametrów dla modeli klasyfikacji lub regresji przez partycjonowanie danych

Kategoria: Machine Learning/ Ocena

Uwaga

Dotyczy: tylko Machine Learning Studio (klasyczne)

Podobne moduły przeciągania i upuszczania są dostępne w Azure Machine Learning projektanta.

Omówienie modułu

W tym artykule opisano sposób korzystania z modułu Krzyżowa weryfikacja modelu w programie Machine Learning Studio (wersja klasyczna). Krzyżowe sprawdzanie poprawności jest ważną techniką często używaną w uczeniu maszynowym do oceny zmienności zestawu danych i niezawodności dowolnego modelu wytrenowania przy użyciu tych danych.

Moduł Cross-Validate Model przyjmuje jako dane wejściowe zestaw danych z etykietami wraz z nieprzeszkolonym modelem klasyfikacji lub regresji. Dzieli zestaw danych na kilka podzbiorów (składanych), tworzy model przy każdym składaniu, a następnie zwraca zestaw statystyk dokładności dla każdego składania. Porównując statystyki dokładności dla wszystkich składanych, można zinterpretować jakość zestawu danych i zrozumieć, czy model jest podatny na wariacje w danych.

Krzyżowe sprawdzanie poprawności zwraca również przewidywane wyniki i prawdopodobieństwa dla zestawu danych, dzięki czemu można ocenić niezawodność przewidywań.

Jak działa krzyżowa walidacja

  1. Krzyżowe sprawdzanie poprawności losowo dzieli dane treningowe na wiele partycji, nazywanych również składami.

    • Algorytm domyślnie składa się 10 razy, jeśli zestaw danych nie został wcześniej podzielony na partycje.
    • Aby podzielić zestaw danych na inną liczbę składań, możesz użyć modułu Partition (Partycja) i Sample ( Przykład) i wskazać, ile składa się do użycia.
  2. Moduł odkłada dane do składania 1 na użytek weryfikacji (jest to czasami nazywane składaniem wstrzymywania ) i używa pozostałych składań do trenowania modelu.

    Jeśli na przykład utworzysz pięć kropek, moduł wygeneruje pięć modeli podczas krzyżowej weryfikacji, każdy model wytrenowany przy użyciu 4/5 danych i przetestowany na pozostałych 1/5.

  3. Podczas testowania modelu dla każdego składania jest ocenianych wiele statystyk dokładności. To, które statystyki są używane, zależy od typu modelu, który oceniasz. Różne statystyki są używane do oceny modeli klasyfikacji i modeli regresji.

  4. Po zakończeniu procesu budowania i oceny dla wszystkich składań model krzyżowej weryfikacji generuje zestaw metryk wydajności i ocenia wyniki dla wszystkich danych. Należy przejrzeć te metryki, aby sprawdzić, czy jeden kropka ma szczególnie wysoką lub niską dokładność

Zalety krzyżowej weryfikacji

Innym i bardzo powszechnym sposobem oceny modelu jest podzielenie danych na zestaw szkoleniowy i testowy przy użyciu funkcji Split Data (Podział danych), a następnie zweryfikowanie modelu na danych treningowych. Jednak krzyżowe sprawdzanie poprawności ma pewne zalety:

  • Krzyżowe sprawdzanie poprawności używa większej liczby danych testowych.

    Krzyżowa walidacja mierzy wydajność modelu z określonymi parametrami w większej przestrzeni danych. Oznacza to, że krzyżowa walidacja używa całego zestawu danych treningowych zarówno do trenowania, jak i oceny, a nie do części. Z kolei w przypadku weryfikacji modelu przy użyciu danych wygenerowanych na podstawie losowego podziału zwykle model jest oceniany tylko na 30% lub mniej dostępnych danych.

    Jednak ze względu na to, że krzyżowa walidacja wielokrotnie trenuje i weryfikuje model w większym zestawie danych, jest znacznie bardziej intensywnie obliczeniowo i trwa znacznie dłużej niż walidacja na podstawie podziału losowego.

  • Krzyżowa walidacja ocenia zestaw danych oraz model.

    Krzyżowe sprawdzanie poprawności nie tylko mierzy dokładność modelu, ale daje również wyobrażenie o tym, jak reprezentatywny jest zestaw danych i jak poufny może być model na zmiany danych.

Jak używać modelu krzyżowego sprawdzania poprawności

Istnieją dwa główne sposoby korzystania z krzyżowej weryfikacji.

W przypadku używania wielu danych krzyżowe sprawdzanie poprawności może zająć dużo czasu. W związku z tym można użyć modelu krzyżowego w początkowej fazie tworzenia i testowania modelu, aby ocenić poprawność parametrów modelu (przy założeniu, że czas obliczeń jest tolerowalny), a następnie trenować i oceniać model przy użyciu ustalonych parametrów z modułami Train Model (Trenowanie modelu) i Evaluate Model (Ocena modelu).

Prosta krzyżowa weryfikacja

W tym scenariuszu zarówno trenowanie, jak i testowanie modelu przy użyciu modelu krzyżowego sprawdzania poprawności.

  1. Dodaj moduł Cross Validate Model (Krzyżowe weryfikowanie modelu) do eksperymentu. Można go znaleźć w programie Machine Learning Studio (wersja klasyczna) w kategorii Machine Learning w obszarze Ocena.

  2. Połączenie dane wyjściowe dowolnego modelu klasyfikacjilub regresji.

    Jeśli na przykład do klasyfikacji używasz maszyny dwuklasowego punktu Bayesa, skonfiguruj model przy użyciu odpowiednich parametrów, a następnie przeciągnij łącznik z portu modelu Untrained klasyfikatora do pasującego portu modelu krzyżowego.

    Porada

    Nie trzeba trenować modelu, ponieważ model krzyżowy automatycznie szkoli model w ramach oceny.

  3. Na porcie zestawu danych modelu krzyżowej weryfikacji połącz dowolny zestaw danych treningowych z etykietami.

  4. W okienku Właściwości modelu krzyżowego weryfikacji kliknij pozycję Uruchom selektor kolumn i wybierz pojedynczą kolumnę zawierającą etykietę klasy lub przewidywalną wartość.

  5. Ustaw wartość parametru Iniekcju losowego, jeśli chcesz mieć możliwość powtarzania wyników krzyżowej walidacji między kolejnymi przebiegami na tych samych danych.

  6. Uruchom eksperyment.

  7. Opis raportów można znaleźć w sekcji Wyniki.

    Aby później uzyskać kopię modelu do ponownego użycia, kliknij prawym przyciskiem myszy dane wyjściowe modułu zawierającego algorytm (na przykład two class Bayes Point Machine) i kliknij polecenie Zapisz jako wytrenowany model.

Krzyżowe sprawdzanie poprawności za pomocą funkcji czyszczenie parametrów

W tym scenariuszu użyjemy hiperparametrów modelu dostrajania w celu zidentyfikowania najlepszego modelu przez przeprowadzenie czyszczenie parametrów, a następnie użyjemy krzyżowego sprawdzania poprawności modelu, aby sprawdzić jego niezawodność. Jest to najprostszy sposób, aby Machine Learning najlepszy model, a następnie wygenerować dla niego metryki.

  1. Dodaj zestaw danych do trenowania modelu i dodaj jeden z modułów uczenia maszynowego, który tworzy model klasyfikacji lub regresji.

  2. Dodaj moduł Hiperparametry modelu dostrajania do eksperymentu. Można go znaleźć w kategorii Machine Learning w obszarze Trenuj.

  3. Dołącz model klasyfikacji lub regresji do danych wejściowych modelu Bez trenowania hiperparametrów modelu dostrajania.

  4. Dodaj moduł Cross Validate Model (Krzyżowe weryfikowanie modelu) do eksperymentu. Można go znaleźć w programie Machine Learning Studio (wersja klasyczna) w kategorii Machine Learning w obszarze Ocena.

  5. Znajdź wytrenowane najlepsze dane wyjściowe modelu hiperparametrów dostrajania modelu i połącz je z nieprzeszkolonymi wejściami modelu krzyżowego sprawdzania poprawności modelu.

  6. Połączenie dane szkoleniowe do danych wejściowych zestawu danych szkoleniowych modelu krzyżowego sprawdzania poprawności.

  7. Uruchom eksperyment.

  8. Po przejrzeniu wyników i ocen oceny, aby uzyskać kopię najlepszego modelu do późniejszego ponownego użycia, po prostu kliknij prawym przyciskiem myszy moduł Hiperparametry modelu dostrajania, wybierz pozycję Wytrenowany najlepszy model, a następnie kliknij polecenie Zapisz jako wytrenowany model.

Uwaga

Jeśli użyjemy danych wejściowych modułu Dostrajanie hiperparametrów modelu dla opcjonalnego zestawu danych weryfikacji, możesz uzyskać inne wyniki.

Dzieje się tak, ponieważ w przypadku korzystania z tej opcji określasz statyczny zestaw danych treningowych i testowy zestaw danych. W związku z tym proces krzyżowej weryfikacji korzysta również z określonych zestawów danych trenowania i testowania, zamiast dzielenia danych na n grup w celu trenowania i testowania. Jednak metryki są generowane n-krotnie.

Wyniki

Po zakończeniu wszystkich iteracji model krzyżowy tworzy wyniki dla całego zestawu danych, a także metryk wydajności, których można użyć do oceny jakości modelu.

Wyniki z wynikami

Pierwsze dane wyjściowe modułu zapewniają dane źródłowe dla każdego wiersza wraz z pewnymi wartościami przewidywanymi i powiązanymi prawdopodobieństwami.

Aby wyświetlić te wyniki, w eksperymencie kliknij prawym przyciskiem myszy moduł Cross-Validate Model (Krzyżowa weryfikacja modelu), wybierz pozycję Scored results (Wyniki z wynikami), a następnie kliknij pozycję Visualize (Wizualizacja).

Nazwa nowej kolumny Opis
Składanie przypisań Wskazuje oparty na wartości 0 indeks składania każdego wiersza danych, do których przypisano dane podczas krzyżowej weryfikacji.
Etykiety z wynikami Ta kolumna jest dodawana na końcu zestawu danych i zawiera przewidywaną wartość dla każdego wiersza
Scored Probabilities Ta kolumna jest dodawana na końcu zestawu danych i wskazuje szacowane prawdopodobieństwo wartości w sekcji Scored Labels (Etykiety z wynikami).

Wyniki oceny

Drugi raport jest grupowany według składań. Należy pamiętać, że podczas wykonywania model krzyżowej weryfikacji losowo dzieli dane treningowe na n składanych (domyślnie 10). W każdej iteracji w zestawie danych model krzyżowej weryfikacji używa jednego kropki jako zestawu danych weryfikacji i używa pozostałych n-1 kropek do trenowania modelu. Każdy z n modeli jest testowany względem danych we wszystkich pozostałych składach.

W tym raporcie składanie jest wyświetlane według wartości indeksu w kolejności rosnącej. Aby uporządkować dane w dowolnej innej kolumnie, możesz zapisać wyniki jako zestaw danych.

Aby wyświetlić te wyniki, w eksperymencie kliknij prawym przyciskiem myszy moduł Cross-Validate Model (Krzyżowe sprawdzanie poprawności modelu), wybierz pozycję Evaluation results by fold (Wyniki oceny według składania), a następnie kliknij pozycję Visualize (Wizualizacja).

Nazwa kolumny Opis
Składanie liczby Identyfikator dla każdego składania. Jeśli utworzono 5 kropek, byłoby 5 podzbiorów danych po numerze od 0 do 4.
Liczba przykładów składanych Liczba wierszy przypisanych do każdego składania. Powinny być w przybliżeniu równe.
Model Algorytm używany w modelu identyfikowany przez nazwę interfejsu API

Ponadto następujące metryki są uwzględniane dla każdego składania, w zależności od typu modelu, który oceniasz.

  • Modele klasyfikacji: precyzja, przywołanie, wynik F, wartość AUC, średnia utrata dziennika, utrata dziennika trenowania

  • Modele regresji: ujemne prawdopodobieństwo dziennika, średni błąd bezwzględny, błąd kwadratowy roota, względny błąd bezwzględny i współczynnik oznaczania

Przykłady

Aby uzyskać przykłady dotyczące sposobu krzyżowego sprawdzania poprawności w uczeniu maszynowym, zobacz Azure AI Gallery:

Uwagi techniczne

  • Najlepszym rozwiązaniem jest normalizacja zestawów danych przed użyciem ich do krzyżowej weryfikacji.

  • Ponieważ model krzyżowy trenuje i weryfikuje model wielokrotnie, jest znacznie bardziej obciążany obliczeniowo i trwa dłużej niż w przypadku weryfikacji modelu przy użyciu losowo podzielonego zestawu danych.

  • Zalecamy użycie modelu krzyżowego w celu ustalenia poprawności modelu przy użyciu określonych parametrów. Użyj hiperparametrów modelu dostrajania, aby zidentyfikować optymalne parametry.

  • Nie ma potrzeby dzielenia zestawu danych na zestawy treningowe i testowe w przypadku użycia krzyżowej weryfikacji do mierzenia dokładności modelu.

    Jeśli jednak zestaw danych weryfikacji zostanie dostarczony jako nadrzędny, moduł użyje określonych zestawów danych trenowania i testowania zamiast dzielenia na n składań. Oznacza to, że pierwszy zestaw danych jest używany do trenowania modelu dla każdej kombinacji parametrów, a modele są oceniane na podstawie zestawu danych weryfikacji. Zobacz sekcję na temat używania funkcji czyszczenie parametrów z krzyżową weryfikacją.

  • Mimo że w tym artykule są używane starsze wersje modułów, zawiera on dobre wyjaśnienie procesu krzyżowej weryfikacji: Jak wybrać parametry w celu zoptymalizowania algorytmów w Machine Learning

Oczekiwane dane wejściowe

Nazwa Typ Opis
Nie wytrenowany model ILearner, interfejs Nieprzeszkolony model do krzyżowej weryfikacji zestawu danych
Zestaw danych Tabela danych Wejściowy zestaw danych

Parametry modułu

Nazwa Zakres Typ Domyślny Opis
Kolumna etykiety dowolny ColumnSelection Wybierz kolumnę zawierającą etykietę do użycia na użytek weryfikacji
Iniekt losowy dowolny Liczba całkowita 0 Wartość iniekcyjna generatora liczb losowych

Ta wartość jest opcjonalna. Jeśli nie zostanie określony

Dane wyjściowe

Nazwa Typ Opis
Wyniki z wynikami Tabela danych Wyniki oceniania
Wyniki oceny według składania Tabela danych Wyniki oceny (składanie i całe)

Wyjątki

Wyjątek Opis
Błąd 0035 Wyjątek występuje, jeśli nie podano żadnych funkcji dla danego użytkownika lub elementu.
Błąd 0032 Wyjątek występuje, jeśli argument nie jest liczbą.
Błąd 0033 Wyjątek występuje, jeśli argument ma wartość Nieskończoność.
Błąd 0001 Wyjątek występuje, jeśli nie można odnaleźć co najmniej jednej określonej kolumny zestawu danych.
Błąd 0003 Wyjątek występuje, jeśli co najmniej jeden z danych wejściowych ma wartość null lub jest pusty.
Błąd 0006 Wyjątek występuje, jeśli parametr jest większy lub równy określonej wartości.
Błąd 0008 Wyjątek występuje, jeśli parametr nie znajduje się w zakresie.
Błąd 0013 Wyjątek występuje, jeśli uczenia przekazywane do modułu mają nieprawidłowy typ.

Aby uzyskać listę błędów specyficznych dla modułów programu Studio (wersja klasyczna), zobacz Machine Learning Kody błędów.

Aby uzyskać listę wyjątków interfejsu API, zobacz Machine Learning API REST Error Codes (Kody błędów interfejsu API REST).

Zobacz też

Evaluate
Ocena modułu poleceń
Lista modułów A–Z