Translation not up to date
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ę 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 tablicamicolumns
iconstraints
, 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
,sparse
iskip_learning
w celu opisania kolumny.Klucze
name
idtype
opisują etykietę i typ danych dla kolumny. Następujące wartości określone za pomocą kluczadtype
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
,max
imean
. Na przykład, jeśli określono typ danychnumeric_discrete
lubnumeric_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 kluczesparse
iskip_learning
dla kolumny. Kluczsparse
określa, czy kolumna jest rzadka, a kluczskip_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). Kluczkind
określa, czy ograniczenie jest ograniczeniemsingle_column
, czytwo-column
.Klucz
columns
określa tablicę nazw kolumn. Gdy system Watson OpenScale określa ograniczeniesingle_column
z kluczemkind
, tablica zawiera wartość, która jest skorelowana z kolumną, którą chcesz opisać. Gdy system Watson OpenScale określa ograniczenietwo-column
z kluczemkind
, 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 kluczuname
określa, który atrybut jest określony w kluczucontent
, 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
- Ograniczenie zakresu liczbowego
- Ograniczenie rozkładu liczbowego
- Ograniczenie rozkładu kategorialnego
- Jakościowe ograniczenie zakresu liczbowego
- Ograniczenia rozkładu jakościowego i liczbowego
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ą atrybutufrequency_distribution
. Atrybutfrequency_distribution
określa liczebności z wartościami dla kategorii, na przykład0_to_200
. Jeśli system Watson OpenScale znajdzie rekordy w danych ładunku, które określają wartości inne niż wartości atrybutufrequency_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ą atrybuturanges
w celu ustawienia zakresu dla danych uczących. Atrybutranges
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ą atrybutudistribution
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
iCreditHistory
atrybutyrare_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 kolumnCheckingStatus
iLoanAmount
, które ustawiają zakres dla danych uczących. Jeśli system Watson OpenScale znajdzie rekordy w danych ładunku, które nie zawierają wartości kolumnLoanAmount
iCheckingStatus
, 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
iCheckingStatus
zawierają wartości określone za pomocą atrybutudistribution
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ściLoanAmount
iCheckingStatus
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