Krzyżowa weryfikacja modelu

W tym artykule opisano sposób używania składnika Cross Validate Model w projektancie usługi Azure Machine Edukacja. Krzyżowa walidacja to technika często używana w uczeniu maszynowym w celu oceny zarówno zmienności zestawu danych, jak i niezawodności dowolnego modelu trenowanego za pomocą tych danych.

Składnik Cross Validate Model przyjmuje jako dane wejściowe z etykietą zestaw danych wraz z nietrenowanym modelem klasyfikacji lub regresji. Dzieli zestaw danych na pewną liczbę podzbiorów (składanych), tworzy model na każdym fałszcie, a następnie zwraca zestaw statystyk dokładności dla każdego fałszowania. Porównując statystyki dokładności dla wszystkich składanych, można interpretować jakość zestawu danych. Następnie możesz zrozumieć, czy model jest podatny na zmiany w danych.

Funkcja Cross Validate Model 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 fałdy.

    Algorytm domyślnie ma wartość 10 razy, jeśli nie został wcześniej podzielony na partycje zestaw danych. Aby podzielić zestaw danych na inną liczbę razy, możesz użyć składnika Partition and Sample i wskazać, ile składa się do użycia.

  2. Składnik odkłada dane z złożonej 1 do użycia na potrzeby walidacji. (Jest to czasami nazywane fałszem blokady). Składnik używa pozostałych fałdów do trenowania modelu.

    Jeśli na przykład utworzysz pięć razy, składnik generuje pięć modeli podczas krzyżowej walidacji. Składnik trenuje każdy model przy użyciu czterech piątych danych. Testuje każdy model na pozostałej jednej piątej.

  3. Podczas testowania modelu dla każdego składania składnik ocenia wiele statystyk dokładności. Które statystyki używane przez składnik zależą od typu modelu, który oceniasz. Różne statystyki służą do oceniania modeli klasyfikacji w porównaniu z modelami regresji.

  4. Po zakończeniu procesu kompilowania i oceny dla wszystkich składań model Cross Validate generuje zestaw metryk wydajności i ocenia wyniki dla wszystkich danych. Przejrzyj te metryki, aby sprawdzić, czy każda pojedyncza fałdka ma wysoką lub niską dokładność.

Zalety krzyżowego sprawdzania poprawności

Innym i typowym sposobem oceny modelu jest podzielenie danych na zestaw treningowy i testowy przy użyciu podziału danych, a następnie zweryfikowanie modelu na danych treningowych. Jednak krzyżowe sprawdzanie poprawności oferuje pewne korzyści:

  • 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żowe sprawdzanie poprawności używa całego zestawu danych treningowych zarówno do trenowania, jak i oceny, zamiast części. Natomiast w przypadku weryfikacji modelu przy użyciu danych wygenerowanych na podstawie podziału losowego zazwyczaj model jest szacowany tylko na 30 procent lub mniej dostępnych danych.

    Jednak ze względu na to, że krzyżowe trenowanie i walidacja modelu jest wielokrotnie weryfikowane w większym zestawie danych, jest to znacznie bardziej obciążane obliczenia. Trwa to znacznie dłużej niż weryfikowanie losowego podziału.

  • Krzyżowa walidacja ocenia zarówno zestaw danych, jak i model.

    Krzyżowa walidacja nie mierzy po prostu dokładności modelu. Daje to również pewne pojęcie o tym, jak reprezentatywny jest zestaw danych i jak poufny może być model, aby różnice w danych.

Jak używać modelu weryfikacji krzyżowej

Uruchamianie krzyżowego sprawdzania poprawności może zająć dużo czasu, jeśli zestaw danych jest duży. Dlatego możesz użyć modelu Cross Validate w początkowej fazie tworzenia i testowania modelu. W tej fazie można ocenić dobroć parametrów modelu (przy założeniu, że czas obliczeń jest tolerowany). Następnie możesz wytrenować i ocenić model przy użyciu ustalonych parametrów ze składnikami Train Model (Trenowanie modelu ) i Evaluate Model (Ocena modelu ).

W tym scenariuszu zarówno wytrenujesz, jak i przetestujesz model przy użyciu modelu Cross Validate.

  1. Dodaj składnik Cross Validate Model do potoku. Możesz go znaleźć w projektancie Edukacja maszyny azure w kategorii Ocenianie i ocena modelu.

  2. Połączenie danych wyjściowych dowolnego modelu klasyfikacji lub regresji.

    Jeśli na przykład używasz dwóch wzmocnionego drzewa decyzyjnego klasy do klasyfikacji, skonfiguruj model przy użyciu żądanych parametrów. Następnie przeciągnij łącznik z portu modelu Untrained klasyfikatora do pasującego portu cross validate model.

    Napiwek

    Nie musisz trenować modelu, ponieważ model Cross-Validate automatycznie trenuje model w ramach oceny.

  3. Na porcie Zestaw danych elementu Cross Validate Model połącz dowolny zestaw danych trenowania z etykietą .

  4. W prawym panelu pozycji Cross Validate Model (Krzyżowe weryfikowanie modelu) kliknij pozycję Edit column (Edytuj kolumnę). Wybierz pojedynczą kolumnę zawierającą etykietę klasy lub przewidywalną wartość.

  5. Ustaw wartość parametru inicjatora losowego, jeśli chcesz powtórzyć wyniki krzyżowej walidacji między kolejnymi przebiegami na tych samych danych.

  6. Prześlij potok.

  7. Zobacz sekcję Wyniki , aby zapoznać się z opisem raportów.

Wyniki

Po zakończeniu wszystkich iteracji model Cross Validate tworzy wyniki dla całego zestawu danych. Tworzy również metryki wydajności, których można użyć do oceny jakości modelu.

Wyniki oceny

Pierwsze dane wyjściowe składnika udostępniają dane źródłowe dla każdego wiersza wraz z niektórymi przewidywanymi wartościami i powiązanymi prawdopodobieństwami.

Aby wyświetlić wyniki, w potoku kliknij prawym przyciskiem myszy składnik Cross Validate Model. Wybierz pozycję Visualize Scored results (Wizualizacja wyników wygenerowanych według wyników).

Nazwa nowej kolumny opis
Etykiety z wynikami Ta kolumna jest dodawana na końcu zestawu danych. Zawiera on przewidywaną wartość dla każdego wiersza.
Obliczone prawdopodobieństwa Ta kolumna jest dodawana na końcu zestawu danych. Wskazuje szacowane prawdopodobieństwo wartości w obszarze Scored Labels (Oceniane etykiety).
Składana liczba Wskazuje zerowy indeks składania, do którego przypisano każdy wiersz danych podczas krzyżowej walidacji.

Wyniki oceny

Drugi raport jest pogrupowany według fałdów. Pamiętaj, że podczas wykonywania model Cross Validate losowo dzieli dane treningowe na n fałd (domyślnie 10). W każdej iteracji zestawu danych model Cross Validate używa jednego złożenia jako zestawu danych weryfikacji. Używa pozostałych fałd n-1 do wytrenowania modelu. Każdy z n modeli jest testowany względem danych we wszystkich pozostałych składach.

W tym raporcie fałdy są wyświetlane według wartości indeksu w kolejności rosnącej. Aby zamówić w dowolnej innej kolumnie, możesz zapisać wyniki jako zestaw danych.

Aby wyświetlić wyniki, w potoku kliknij prawym przyciskiem myszy składnik Cross Validate Model. Wybierz pozycję Wizualizuj wyniki oceny według składania.

Nazwa kolumny opis
Składana liczba Identyfikator każdego składania. Jeśli utworzono pięć razy, będzie pięć podzbiorów danych, ponumerowanych od 0 do 4.
Liczba przykładów składanych Liczba wierszy przypisanych do każdego składania. Powinny one być mniej więcej równe.

Składnik zawiera również następujące metryki dla każdego składania, w zależności od typu modelu, który oceniasz:

  • Modele klasyfikacji: Precyzja, kompletność, wynik F, AUC, dokładność

  • Modele regresji: Błąd bezwzględny średniej głównej, błąd średniokwadratowy, względny błąd bezwzględny, względny błąd kwadratowy i współczynnik determinacji

Uwagi techniczne

  • Najlepszym rozwiązaniem jest normalizacja zestawów danych przed użyciem ich do krzyżowego sprawdzania poprawności.

  • Model weryfikacji krzyżowej jest znacznie intensywniej obciążany obliczeniami i trwa dłużej niż w przypadku weryfikacji modelu przy użyciu losowo podzielonego zestawu danych. Przyczyną jest to, że model Cross Validate trenuje i weryfikuje model wiele razy.

  • Nie ma potrzeby dzielenia zestawu danych na zestawy trenowania i testowania w przypadku używania krzyżowej walidacji w celu pomiaru dokładności modelu.

Następne kroki

Zobacz zestaw składników dostępnych dla usługi Azure Machine Edukacja.