Uvod v testiranje generiranja podatkov

Podatki o preizkusu so kateri koli vložek, ki je dodeljen modelu Strojnega učenja za preverjanje njegove učinkovitosti in zanesljivosti. Za pridobitev modelov strojnega učenja z odličnimi zmogljivostmi je za Data Scientist pomembno, da ga usposobi z vsemi možnimi različicami podatkov in nato isti model preizkusi še bolj raznolike in zapletene, vendar vseobsegajoče podatke. Pogosto je težko vključiti vse scenarije in različice v preskusne podatke, ki jih dobimo po razdružitvi preskusa vlaka. Zato je pomembno ustvariti nabor podatkov z vsemi zajetimi primeri uporabe, ki najbolje merijo uspešnost našega modela. Postopek generiranja takega nabora podatkov je znan kot Test Data Generation.

Pravila pridobivanja testnih podatkov v strojnem učenju

V današnjem svetu, saj se zahtevnost iz dneva v dan povečuje in čas dobave se zmanjšuje, morajo podatki znanstveniki čim prej pripraviti najboljše rezultate. Kljub temu pa modeli, ki so bili ustvarjeni, postanejo najbolj uspešni modeli šele, ko so testirani na vseh možnih scenarijih. Vseh teh scenarijev morda ne bo mogel imeti podatkovni znanstvenik s seboj, zato bo morda moral ustvariti nekaj sintetičnih podatkov za testiranje modelov.

Zato lahko za ustvarjanje teh sintetičnih nizov podatkov upoštevate nekatere vrste pravil ali smernic:

  1. Upoštevati morate statistično porazdelitev vsake funkcije v izvirniku ali resničnem naboru podatkov. Nato moramo izdelati testne podatke z enakimi statičnimi porazdelitvami.
  2. Razumeti moramo učinke interakcije, ki jo imajo funkcije med seboj ali na odvisni spremenljivki. S tem želimo reči, da moramo ohraniti razmerja med spremenljivkami. Oglejte si enostranske, bivarijantne odnose in poskusite imeti enake odnose pri ustvarjanju testnih podatkov.
  3. Pridobljeni podatki naj bodo po možnosti naključni in normalno razporejeni.
  4. V primeru klasifikacijskih algoritmov moramo nadzorovati število opazovanj v vsakem razredu. Opažanja imamo lahko enakomerno razporejena, da je testiranje enostavno, ali pa v enem od razredov več opazovanj.
  5. V podatke se lahko vbrizga naključni hrup za testiranje modela ML na anomalije.
  6. Ohraniti moramo tudi lestvico vrednosti in razlike v lastnostih testnih podatkov, tj. Vrednosti lastnosti morajo biti pravilno prikazane. Npr. Vrednosti starosti bi morale biti okoli oklepaja 0-100 in ne nekaj v tisočih.
  7. Potrebovali bomo izjemno bogat in dovolj velik nabor podatkov, ki lahko zajema vse scenarije preskusnih primerov in vse scenarije testiranja. Slabo oblikovani preskusni podatki morda ne bodo preskušali vseh možnih testov ali resničnih scenarijev, ki bodo ovirali delovanje modela.
  8. Nabor podatkov moramo ustvariti dovolj velik, da ne bo samo model uspešnosti, temveč tudi testiranje izjemnih situacij izvedeno za model in programsko opremo.

Kako ustvariti testne podatke?

Na splošno so testni podatki shramba podatkov, ki se generirajo programsko. Nekateri od teh podatkov se lahko uporabijo za testiranje pričakovanih rezultatov modela strojnega učenja. Ti podatki se lahko uporabijo tudi za preverjanje sposobnosti modela strojnega učenja za ravnanje s tujimi in nevidnimi situacijami, ki so podane kot vhod v model. Pomembno je vedeti, katere vrste preskusnih podatkov je treba ustvariti in za kakšen namen.

Ko to vemo, lahko uporabimo katero koli od naslednjih metod za generiranje preskusnih podatkov:

1. Testne podatke lahko ročno ustvarimo glede na naše znanje o domeni in vrsto testiranja, ki ga moramo opraviti na določenem modelu strojnega učenja. Excel lahko uporabimo za ustvarjanje tovrstnih nizov podatkov.

2. Prav tako lahko poskusimo in kopiramo ogromne koščke podatkov, ki so nam na voljo v proizvodnem okolju, jih spremenimo in nato preizkusimo modele strojnega učenja na istem.

3. Na trgu je na voljo veliko brezplačnih ali plačljivih orodij, ki jih lahko uporabimo za ustvarjanje testnih nizov podatkov.

4. Preizkusne nize lahko ustvarite tudi z uporabo R ali Python-a. Obstaja več paketov, kot je faker, ki vam lahko pomagajo pri ustvarjanju sintetičnih nizov podatkov.

Prednost generiranja testnih podatkov

Čeprav so podatki o testiranju ustvarjeni na nek način in niso resnični, je to še vedno fiksni nabor podatkov, s fiksnim številom vzorcev, fiksnim vzorcem in določeno stopnjo ločenosti razreda. Še vedno obstaja več prednosti, ki jih zagotavlja generacija testnih podatkov:

1. Številnim organizacijam morda ni prijetno deliti občutljivih podatkov svojih uporabnikov s svojimi ponudniki storitev, saj lahko to krši zakonodajo o varnosti ali zasebnosti. V teh primerih so lahko koristni generirani preskusni podatki. Lahko presnovi vse statistične lastnosti resničnih podatkov brez izpostavljanja resničnih podatkov.

2. S pomočjo ustvarjenih testnih podatkov lahko vključimo scenarije v podatke, s katerimi se še nismo soočili, vendar pričakujemo ali se bodo v bližnji prihodnosti morda soočili.

3. Kot smo že razpravljali, bodo zbrani podatki ohranili enostransko, bivariatno in multivariatno razmerje med spremenljivkami ter ohranili samo specifične statistike.

4. Ko pridobimo svojo metodo za generiranje podatkov, postane enostavno ustvariti kakršne koli preskusne podatke in prihraniti čas pri iskanju podatkov ali preverjanju učinkovitosti modela.

5. Testni podatki bi zagotovili ekipi prepotrebno prilagodljivost za prilagajanje ustvarjenih podatkov po potrebi in za izboljšanje modela.

Zaključek

Za zaključek nam dobro oblikovani podatki testiranja omogočajo, da prepoznamo in odpravimo resne pomanjkljivosti v modelu. Dostop do kakovostnih nizov podatkov za preizkušanje modelov strojnega učenja bo izjemno pripomogel k ustvarjanju robustnega in brezhibnega izdelka AI. Generacija sintetičnih testnih nizov podatkov je v današnjem svetu, kjer je zasebnost

Priporočeni članki

To je vodnik pri pridobivanju testnih podatkov. Tukaj razpravljamo o pravilih in o tem, kako ustvariti preskusne podatke z njihovimi prednostmi. Za več informacij si lahko ogledate tudi naslednje članke -

  1. Preizkušanje mehkosti
  2. Strojno učenje podatkovne znanosti
  3. Orodja za podatkovno znanost
  4. Tehnologije velikih podatkov

Kategorija: