Datový drift

Strojové učení od začátku do konce

Joshua Stapleton

Machine Learning Engineer

Potřeba detekce datového driftu

Graf znázorňující změnu distribuce srdečních onemocnění v různých věkových skupinách v průběhu času – dnes je výskyt nižší a posunuje se do vyššího věku

Strojové učení od začátku do konce

Kolmogorov-Smirnovův test

  • Běžně používán pro detekci datového driftu
  • Porovnává rozdíly mezi vzorky datových sad za účelem posouzení shody distribucí

Dva grafy znázorňující rozdíl mezi distribucí původní trénovací datové sady a novější inferenční datové sady, která prošla datovým driftem

Strojové učení od začátku do konce

Použití funkce `ks_2samp()`

  • Funkce ks_2samp() vrací dvě hodnoty: testovou statistiku a p-hodnotu.
  • P-hodnota slouží k přijetí nebo zamítnutí nulové hypotézy o shodě distribucí.
from scipy.stats import ks_2samp
# load the 1D data distribution samples for comparison
sample_1, sample_2 = training_dataset_sample, current_inference_sample
# perform the KS-test - ensure input samples are numpy arrays
test_statistic, p_value = ks_2samp(sample_1, sample_2)
if p_value < 0.05:
    print("Reject null hypothesis - data drift might be occuring")
else:
    print("Samples are likely to be from the same dataset")
Strojové učení od začátku do konce

Náprava datového driftu

Aktualizace modelu na základě nových dat

  • Přetrénování modelu
  • Úprava / aktualizace parametrů modelu

Nedostatek nových / inferenčních dat?

  • Přetrénování modelu na smíšené datové sadě
  • Zvýšení množství nových dat

Vývojový diagram znázorňující proces přetrénování a opětovného nasazení modelu, který vykazuje datový drift

Diagram znázorňující pravidelné přetrénování modelu na rostoucím množství nových dat, jak jsou tato data v průběhu času dostupná

Strojové učení od začátku do konce

Další zdroje pro detekci a nápravu datového driftu

Strojové učení od začátku do konce

Pojďme si to procvičit!

Strojové učení od začátku do konce

Preparing Video For Download...