0 / 0
Go back to the English version of the documentation
Metryki dryftu Watson OpenScale
Last updated: 12 paź 2023
Metryki dryftu Watson OpenScale

Podczas konfigurowania ocen dryftu w systemie Watson OpenScalemożna generować metryki, które pomogą określić, jak dobrze model przewiduje wyniki w czasie.

Wyniki ocen dryftu można wyświetlić na panelu kontrolnym wglądu w produkcie Watson OpenScale. Aby wyświetlić wyniki, można wybrać kafel wdrożenia modelu i kliknąć strzałkę strzałka nawigacji w sekcji oceny Dryf w celu wyświetlenia podsumowania metryk dryftu z ostatniej oceny. Więcej informacji na ten temat zawiera sekcja Przeglądanie wyników dryftu.

Watson OpenScale oblicza metryki dryftu, analizując zachowanie modelu i budując własny model, aby przewidzieć, czy model generuje dokładne predykcje dla punktów danych. Ten model wykrywania dryftu przetwarza dane ładunku w celu zidentyfikowania liczby rekordów, dla których model tworzy niedokładne predykcje i generuje przewidywaną dokładność modelu.

Dryft jest obsługiwany tylko dla danych ustrukturyzowanych i nie obsługuje funkcji Python .

Obsługiwane metryki dryftu

System Watson OpenScaleobsługuje następujące wielkości mierzone dryftu:

  • Oceny dryftu Watson OpenScale szacują spadek dokładności modelu w czasie wykonywania w porównaniu do danych uczących. Dokładność modelu spada, jeśli wystąpi wzrost liczby transakcji podobny do tych, których model nie oceniał poprawnie w danych uczących.

    Jak to działa?

    Monitor dryftu działa inaczej w środowiskach przedprodukcyjnych i produkcyjnych.

    W środowiskach przedprodukcyjnych po przesłaniu danych testowych z etykietą dane te są dodawane do tabel informacji zwrotnych i ładunku. Dane z etykietą są dodawane jako adnotacja w tabeli ładunku. Dokładność jest obliczana przy użyciu kolumny danych z etykietą i kolumny predykcji z tabeli ładunku.

    W środowiskach produkcyjnych system Watson OpenScale tworzy model wykrywania dryftu, przeglądając dane, które były używane do trenowania i testowania modelu. Na przykład, jeśli model ma dokładność 90% danych testowych, oznacza to, że dostarcza niepoprawne predykcje dla 10% danych testowych. System Watson OpenScale tworzy binarny model klasyfikacji, który akceptuje punkt danych i przewiduje, czy ten punkt danych jest podobny do danych, które model przewidywał nieprawidłowo (10%) lub dokładnie (90%).

    Po utworzeniu przez system Watson OpenScale modelu wykrywania dryftu w czasie wykonywania model ten jest oceniany na podstawie wszystkich danych, które otrzymuje model klienta. Na przykład, jeśli model klienta otrzymał 1000 rekordów w ciągu ostatnich 3 godzin, system Watson OpenScale uruchamia model wykrywania dryftu dla tych samych 1000 punktów danych. Oblicza, ile rekordów jest podobnych do 10% rekordów, dla których model popełnił błąd podczas uczenia. Jeśli 200 z tych rekordów jest podobnych do 10%, oznacza to, że dokładność modelu wynosi prawdopodobnie 80%. Ponieważ dokładność modelu w czasie uczenia wynosiła 90%, oznacza to, że w modelu występuje dryft dokładności wynoszący 10%.

    Aby zminimalizować dryft po wykryciu go przez system Watson OpenScale, należy zbudować nową wersję modelu, która rozwiąże problem. Dobrym miejscem do rozpoczęcia jest punkt danych, który jest podświetlony jako przyczyna dryftu. Wprowadź nowe dane do modelu predykcyjnego po ręcznym oznakowaniu przesuniętych transakcji i użyciu ich do ponownego trenowania modelu.

    Wykonaj obliczenia

    Spadek dokładności jest obliczany tylko dla ustrukturyzowanych binarnych i wielowartościowych modeli klasyfikacji. Watson OpenScale analizuje każdą transakcję, aby oszacować, czy predykcja modelu jest dokładna. Jeśli predykcja modelu jest niedokładna, transakcja jest oznaczana jako dryfowana. Szacowana dokładność jest następnie obliczana jako ułamek niedryfowanych transakcji do łącznej liczby analizowanych transakcji. Dokładność podstawowa to dokładność modelu w danych testowych. Watson OpenScale oblicza zakres dryftu dokładności jako różnicę między dokładnością bazową a szacowaną. Ponadto system Watson OpenScale analizuje wszystkie przeniesione transakcje, a następnie grupuje transakcje na podstawie podobieństwa wkładu każdej funkcji do dryftu dokładności. W każdym skupieniu system Watson OpenScale szacuje również ważne cechy, które przyczyniły się do zwiększenia dokładności i klasyfikuje ich wpływ na cechy jako duże, niektóre i małe.

  • W miarę jak dane zmieniają się w czasie, zdolność modelu do tworzenia dokładnych prognoz może ulec pogorszeniu. Metryka spadku spójności danych Watson OpenScale oblicza procent transakcji w czasie wykonywania, które znacząco różnią się od transakcji w danych uczących.

    Jak to działa?

    System Watson OpenScale analizuje każdą transakcję pod kątem niespójności danych, porównując transakcje czasu wykonywania z wzorcami transakcji w danych uczących. Jeśli transakcja narusza jeden lub więcej wzorców danych uczących, transakcja jest identyfikowana jako niespójna. Aby obliczyć spadek spójności danych, system Watson OpenScale dzieli łączną liczbę transakcji przez liczbę transakcji, które zostały zidentyfikowane jako niespójne. Na przykład, jeśli 10 transakcji jest zidentyfikowanych jako niespójne z zestawu 100 transakcji, wówczas spadek spójności danych wynosi 10%.

    Wykonaj obliczenia

    Aby zidentyfikować niespójność danych, system Watson OpenScale generuje schemat podczas konfigurowania wykrywania dryftu poprzez utworzenie pliku constraints.json w celu określenia reguł, których muszą przestrzegać dane wejściowe. System Watson OpenScale używa schematu do oceny danych pod kątem dryftu przez zidentyfikowanie wartości odstających, które nie mieszczą się w określonych ograniczeniach. Schemat jest określony jako obiekt JSON z tablicami columns i constraints , które opisują dane uczące, jak pokazano w poniższym przykładzie:

    {
          "columns": [
            {
                "name": "CheckingStatus",
                "dtype": "categorical",
                "count": 5000,
                "sparse": false,
                "skip_learning": false
            },
          "constraints": [
            {
                "name": "categorical_distribution_constraint",
                "id": "f0476d40-d7df-4095-9be5-82564511432c",
                "kind": "single_column",
                "columns": [
                    "CheckingStatus"
                ],
                "content": {
                    "frequency_distribution": {
                        "0_to_200": 1304,
                        "greater_200": 305,
                        "less_0": 1398,
                        "no_checking": 1993
                    }
                }
            }
    

    Kolumny

    Watson OpenScale określa wartości dla kluczy name, dtype, count,sparsei skip_learning w celu opisania kolumny.

    Klucze name i dtype opisują etykietę i typ danych dla kolumny. Następujące wartości określone za pomocą klucza dtype opisują typ danych:

    • categorical
    • numeric_discrete
    • numeric_continuous

    Określony typ danych określa, czy więcej właściwości statystycznych jest opisywanych za pomocą kluczy, takich jak min, maxi mean. Na przykład, jeśli określono typ danych numeric_discrete lub numeric_continuous , właściwości są opisane w następujący sposób:

    {
                "name": "LoanDuration",
                "dtype": "numeric_discrete",
                "count": 5000,
                "sparse": false,
                "skip_learning": false,
                "min": 4,
                "max": 53,
                "mean": 21.28820697954272,
                "std": 10.999096037050032,
                "percentiles": [
                    13.0,
                    21.0,
                    29.0
                ],
                "count_actual": 4986
            }
    

    Klucz count określa liczbę wierszy w kolumnie. Opcja Watson OpenScale określa wartości boolowskie opisujące klucze sparse i skip_learning dla kolumny. Klucz sparse określa, czy kolumna jest rzadka, a klucz skip_learning określa, czy kolumna pomija naukę dowolnej z reguł opisanych w schemacie. Kolumna jest rzadka, jeśli 25th i 75th percentyle mają taką samą wartość.

    Ograniczenia

    Klucz name określa typ ograniczenia. W celu opisania typu ograniczenia należy podać następujące wartości:

    • categorical_distribution_constraint
    • numeric_range_constraint
    • numeric_distribution_constraint
    • catnum_range_constraint
    • catnum_distribution_constraint
    • catcat_distribution_constraint

    Klucz id identyfikuje ograniczenia za pomocą identyfikatora UUID (Universally Unique Identifier). Klucz kind określa, czy ograniczenie jest ograniczeniem single_column , czy two-column .

    Klucz columns określa tablicę nazw kolumn. Gdy system Watson OpenScale określa ograniczenie single_column z kluczem kind , tablica zawiera wartość, która jest skorelowana z kolumną, którą chcesz opisać. Gdy system Watson OpenScale określa ograniczenie two-column z kluczem kind , tablica zawiera wartości, które są skorelowane z kolumnami zawierającymi powiązane dane.

    Klucz content określa atrybuty opisujące charakterystykę statystyczną danych. Typ ograniczenia określony w kluczu name określa, który atrybut jest określony w kluczu content , jak pokazano w poniższej tabeli:

    Atrybut Ograniczenia
    częstotliwość_dystrybucji kategorie_ograniczenia_dystrybucji
    przedziały Numeric_range_constraint, catnum_range_constraint
    rozkład Numeric_distribution_constraint, catnum_distribution_constraint
    rare_kombinacje Ograniczenie catcat_distribution_constraint
    kolumna_źródłowa catcat_distribution_constraint, catnum_range_constraint, catnum_distribution_constraint
    kolumna_docelowa catcat_distribution_constraint, catnum_range_constraint, catnum_distribution_constraint

    W poniższych sekcjach przedstawiono przykłady określania poszczególnych typów ograniczeń:

    Ograniczenie rozkładu kategorialnego

            {
                "name": "categorical_distribution_constraint",
                "id": "f0476d40-d7df-4095-9be5-82564511432c",
                "kind": "single_column",
                "columns": [
                    "CheckingStatus"
                ],
                "content": {
                    "frequency_distribution": {
                        "0_to_200": 1304,
                        "greater_200": 305,
                        "less_0": 1398,
                        "no_checking": 1993
                    }
                }
            }
    
    

    W danych uczących kolumna CheckingStatus zawiera cztery wartości określone za pomocą atrybutu frequency_distribution . Atrybut frequency_distribution określa liczebności z wartościami dla kategorii, na przykład 0_to_200. Jeśli system Watson OpenScale znajdzie rekordy w danych ładunku, które określają wartości inne niż wartości atrybutu frequency_distribution , rekordy są identyfikowane jako dryf.

    Ograniczenie zakresu liczbowego

       {
                "name": "numeric_range_constraint",
                "id": "79f3a1f5-30a1-4c7f-91a0-1613013ee802",
                "kind": "single_column",
                "columns": [
                    "LoanAmount"
                ],
                "content": {
                    "ranges": [
                        {
                            "min": 250,
                            "max": 11676,
                            "count": 5000
                        }
                    ]
                }
            }
    

    Kolumna LoanAmount zawiera wartości minimalne i maksymalne określone za pomocą atrybutu ranges w celu ustawienia zakresu dla danych uczących. Atrybut ranges określa regiony kolumny o wysokiej gęstości. Zakresy, które rzadko występują w danych uczących, nie są uwzględniane. Jeśli system Watson OpenScale znajdzie w danych ładunku rekordy, które nie mieszczą się w zakresie i predefiniowanym buforze, rekordy są identyfikowane jako dryft.

    Ograniczenie rozkładu liczbowego

    {
                "name": "numeric_distribution_constraint",
                "id": "3a97494b-0cd7-483e-a1c6-adb7755c1cb0",
                "kind": "single_column",
                "columns": [
                    "LoanAmount"
                ],
                "content": {
                    "distribution": {
                            "name": "norm",
                            "parameters": {
                                "loc": 3799.62,
                                "scale": 1920.0640064678398
                            },
                            "p-value": 0.22617155797563282
                    }
                }
            }
    

    Kolumna LoanAmount zawiera wartości określone za pomocą atrybutu distribution w celu ustawienia rozkładu normalnego dla danych uczących. Jeśli system Watson OpenScale znajdzie rekordy w danych ładunku, które nie mieszczą się w normalnym rozkładzie, rekordy są identyfikowane jako dryfowanie. Rozkłady, które system Watson OpenScale próbuje dopasować, są rozkładami jednostajnymi, wykładniczym lub normalnymi. Jeśli system Watson OpenScale nie znajdzie rekordów pasujących do tych rozkładów, to ograniczenie nie zostanie wyuczone.

    Ograniczenie rozkładu kategorialno-kategorialnego

        {
                "name": "catcat_distribution_constraint",
                "id": "99468600-1924-44d9-852c-1727c9c414ee",
                "kind": "two_column",
                "columns": [
                    "CheckingStatus",
                    "CreditHistory"
                ],
                "content": {
                    "source_column": "CheckingStatus",
                    "target_column": "CreditHistory",
                    "rare_combinations": [
                        {
                            "source_value": "no_checking",
                            "target_values": [
                                "no_credits"
                            ]
                        }
                    ]
                }
            }
    

    W przypadku kolumn CheckingStatus i CreditHistory atrybuty rare_combinations określają kombinację wartości, które rzadko występują w danych uczących. Jeśli system Watson OpenScale znajdzie rekordy w danych ładunku, które zawierają tę kombinację, zostaną one zidentyfikowane jako dryf.

    Ograniczenie przedziału jakościowego i liczbowego

            {
                "name": "catnum_range_constraint",
                "id": "f252033c-1635-4974-8976-3f7904d0c37d",
                "kind": "two_column",
                "columns": [
                    "CheckingStatus",
                    "LoanAmount"
                ],
                "content": {
                    "source_column": "CheckingStatus",
                    "target_column": "LoanAmount",
                    "ranges": {
                        "no_checking": [
                            {
                                "min": 250,
                                "max": 11676,
                                "count": 1993
                            }
                        ],
                        "less_0": [
                            {
                                "min": 250,
                                "max": 7200,
                                "count": 1398
                            }
                        ],
                        "0_to_200": [
                            {
                                "min": 250,
                                "max": 9076,
                                "count": 1304
                            }
                        ],
                        "greater_200": [
                            {
                                "min": 250,
                                "max": 9772,
                                "count": 305
                            }
                        ]
                    }
                }
            }
    

    Atrybut ranges określa minimalne i maksymalne wartości dla kolumn CheckingStatus i LoanAmount , które ustawiają zakres dla danych uczących. Jeśli system Watson OpenScale znajdzie rekordy w danych ładunku, które nie zawierają wartości kolumn LoanAmount i CheckingStatus , które mieszczą się w zakresie i predefiniowanym buforze, rekordy zostaną zidentyfikowane jako dryft.

    Ograniczenie rozkładu jakościowego i liczbowego

            {
                "name": "catnum_distribution_constraint",
                "id": "3a97494b-0cd7-483e-a1c6-adb7755c1cb0",
                "kind": "two_column",
                "columns": [
                    "CheckingStatus",
                    "LoanAmount"
                ],
                "content": {
                    "source_column": "CheckingStatus",
                    "target_column": "LoanAmount",
                    "distribution": {
                        "greater_200": {
                            "name": "norm",
                            "parameters": {
                                "loc": 3799.62,
                                "scale": 1920.0640064678398
                            },
                            "p-value": 0.22617155797563282
                        }
                    }
                }
            }
    

    Kolumny LoanAmount i CheckingStatus zawierają wartości określone za pomocą atrybutu distribution w celu ustawienia rozkładu normalnego dla danych uczących. Jeśli system Watson OpenScale znajdzie w danych ładunku rekordy, które nie zawierają wartości LoanAmount i CheckingStatus kolumn, które pasują do rozkładu normalnego, rekordy są identyfikowane jako dryf.

    Uwaga:

    Aby zminimalizować dryft po wykryciu go przez system Watson OpenScale, należy zbudować nową wersję modelu, która rozwiąże problem. Dobrym miejscem do rozpoczęcia jest punkt danych, który jest podświetlony jako przyczyna dryftu. Wprowadź nowe dane do modelu predykcyjnego po ręcznym oznakowaniu przesuniętych transakcji i użyciu ich do ponownego trenowania modelu.

Więcej inform.

Przeglądanie spostrzeżeń modelu Przeglądanie wyników dryftu

Temat nadrzędny: Konfigurowanie wykrywania dryftu

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more