Kallistava näo treenimine ja jagatud andmekogum

Kallistava Nao Treenimine Ja Jagatud Andmekogum



Hugging Face teegil puudub spetsiifiline funktsioon nimega train_test_split. Mis aga puudutab andmete jagamist masinõppeülesannete treenimiseks ja testimiseks, kasutatakse funktsiooni train_test_split tavaliselt teistes populaarsetes teekides, näiteks scikit-learn. Siin selgitame parameetreid, mida tavaliselt kasutatakse scikit-learni funktsioonis train_test_split.

Hugging Face'i andmekogumi teegis meetodit train_test_split kasutatakse andmestiku jagamiseks kaheks alamhulgaks: treeningu alamhulgaks ja testimise alamhulgaks. Seda meetodit kasutatakse tavaliselt masinõppes, et hinnata mudeli toimivust nähtamatutel andmetel. Koolituse alamhulka kasutatakse mudeli koolitamiseks, testimise alamhulka aga selle toimivuse ja üldistusvõime hindamiseks.







Siin on ülevaade Train_test_split meetodist Hugging Face'is:



  1. test_size (numpy.random.Generator, valikuline) : selle valikuga määratakse testjaotuse suurus. Tüüp võib olla kas ujuv või täisarv.
  • Kui see on antud ujuvana, peaks see kajastama testjaotusse kaasatava andmestiku protsenti ja olema vahemikus 0,0–1,0.
  • Katseproovide täpset arvu tähistab väärtus, kui see esitatakse täisarvuna.
  • Kui selle väärtuseks on määratud Puudub, kasutatakse väärtusena rongi suuruse täiendit.
  • Kui rongi_suurus on samuti None, määratakse selle väärtuseks 0,25 (25% andmekogumist).
  • rongi_suurus (numpy.random.Generator, valikuline): Rongi jaotuse suurus määratakse selle parameetriga. See järgib samu juhiseid, mis test_size.
    • Kui see on antud ujukina, peaks see kajastama rongijaotusse kaasatava andmestiku protsenti ja olema vahemikus 0,0–1,0.
    • Rongi näidiste täpset arvu tähistab väärtus, kui see esitatakse täisarvuna.
    • Kui see on seatud väärtusele Puudub, muudetakse väärtus automaatselt testi suuruse täienduseks.
  • segamine (bool, valikuline, vaikimisi Tõene)
    • See parameeter määrab, kas andmeid enne jagamist segada või mitte.
    • Kui see on seatud väärtusele Tõene, segatakse andmed enne jagamist juhuslikult.
    • Kui see on seatud väärtusele Väär, jagatakse andmed ilma segamiseta.
  • stratify_by_column (str, valikuline, vaikimisi puudub)
    • Seda parameetrit kasutatakse andmete kihiliseks jaotamiseks konkreetse veeru alusel.
    • Kui see on määratud, peaks see olema siltide või klasside veeru nimi.
    • Andmed jaotatakse viisil, mis säilitab siltide või klasside jaotuse rongis ja katsejaotuses.
  • seeme (int, valikuline)
    • See parameeter võimaldab teil määrata seemne vaike-BitGeneratori lähtestamiseks.
    • Kui see on seatud väärtusele Puudub, tõmmatakse operatsioonisüsteemist uus ettearvamatu entroopia.
    • Kui edastatakse täisarv või massiivilaadsed täisarvud, kasutatakse neid BitGeneratori esialgse oleku tuletamiseks.
  • generaator (numpy.random.Generator, valikuline)
    • See parameeter võimaldab teil määrata NumPy juhuslikkuse generaatori, et arvutada andmestiku ridade permutatsioon.
    • Kui see on seatud olekusse Puudub (vaikimisi), kasutab see np.random.default_rng, mis on NumPy vaikimisi BitGenerator (PCG64).
  • keep_in_memory (bool, vaikimisi Väär)
    • See parameeter määrab, kas poolitatud indeksid hoida mälus, selle asemel et need vahemälufaili kirjutada.
    • Kui see on seatud väärtusele Tõene, salvestatakse poolitusindeksid poolitamise ajal mällu.
    • Kui see on seatud väärtusele Väär, kirjutatakse poolitatud indeksid hilisemaks kasutamiseks vahemälufaili.
  • load_from_cache_file (Valikuline[bool], vaikimisi väärtus on Tõene, kui vahemällu salvestamine on lubatud)
    • See parameeter määrab, kas poolitatud indeksite laadimiseks kasutada vahemälufaili, selle asemel et neid ümber arvutada.
    • Kui see on seatud väärtusele Tõene ja vahemälufail, mis salvestab jagatud indeksid, on tuvastatav, kasutatakse seda.
    • Kui see on seatud väärtusele Väär, arvutatakse poolitusindeksid uuesti isegi siis, kui vahemälufail on olemas.
    • Vaikeväärtus on True, kui vahemällu salvestamine on lubatud.
  • rongi_vahemälu_faili_nimi (str, valikuline)
    • See parameeter võimaldab anda konkreetse tee või nime vahemälufailile, mis salvestab rongi jagamise indeksid.
    • Kui see on määratud, salvestatakse sellesse vahemälufaili automaatselt genereeritud vahemälufaili nime asemel rongi jaotuse indeksid.
  • test_cache_file_name (str, valikuline)
    • See parameeter võimaldab teil määrata vahemälufailile, mis salvestab testjaotuse indeksid, konkreetse tee või nime.
    • Kui see on määratud, salvestatakse sellesse vahemälufaili testijaotuse indeksid automaatselt genereeritud vahemälufaili nime asemel.
  • writer_batch_size (int, vaikimisi 1000)
    • See parameeter määrab vahemälufaili kirjutaja ridade arvu kirjutustoimingu kohta.
    • See on kompromiss mälukasutuse ja töötlemiskiiruse vahel.
    • Kõrgemad väärtused vähendavad kirjutamistoimingute arvu, kuid tarbivad töötlemise ajal rohkem mälu.
    • Madalamad väärtused tarbivad vähem ajutist mälu, kuid võivad töötlemiskiirust veidi mõjutada.
  • train_new_fingerprint (str, valikuline, vaikimisi puudub)
    • See parameeter tähistab rongikomplekti uut sõrmejälge pärast teisenduse rakendamist.
    • Kui see on määratud, annab see rongikomplektile uue sõrmejälje.
    • Kui selle väärtuseks on määratud Puudub, arvutatakse uus sõrmejälg eelmise sõrmejälje ja teisendusargumentide räsi abil.
  • test_new_fingerprint (str, valikuline, vaikimisi puudub)
    • See parameeter tähistab testikomplekti uut sõrmejälge pärast teisenduse rakendamist.
    • Kui see on määratud, annab see testkomplektile uue sõrmejälje.
    • Kui selle väärtuseks on määratud Puudub, arvutatakse uus sõrmejälg eelmise sõrmejälje ja teisendusargumentide räsi abil.

    Süntaks:

    sklearn.model_selection impordist train_test_split

    X_train, X_test, y_train, y_test = rongi_testi_jaotus(X, y, testi_suurus = 0,2, juhuslik_olek = 42)

    X : see tähistab teie andmestiku sisendfunktsioone või sõltumatuid muutujaid.



    • ja : see tähistab väljundit või sõltuvat muutujat, mida proovite ennustada.
    • test_size : see parameeter määrab testimiseks eraldatava andmestiku osa. Seda saab määrata ujukina (nt 0,2 20% puhul või täisarvuna (nt 200 proovi puhul 200).
    • juhuslik_olek : see on valikuline parameeter, mis võimaldab määrata juhuslike arvude generaatori seemne. See tagab, et jaotus on reprodutseeritav, mis tähendab, et saate sama jaotuse, kui kasutate sama juhusliku oleku väärtust.

    Funktsioon train_test_split tagastab neli andmekomplekti:





    • X_rong : sisendfunktsioonide treeningkomplekt.
    • X_test : sisendfunktsioonide testimiskomplekt.
    • y_rong : väljundsiltide koolituskomplekt.
    • y_test : väljundsiltide testimiskomplekt.

    Näide : järgmine näidisprogramm salvestatakse kui ' test.py ”.

    sklearn.model_selection impordist train_test_split

    andmekogumitest import load_dataset

    # 1. samm: laadige andmestik

    andmestik = load_dataset('imdb')

    X = andmestik['rong']['tekst']

    y = andmestik['rong']['silt']

    # 2. samm: jagage andmekogum

    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0,2,

    shuffle=True, random_state=42)

    # 3. samm: uurige andmekogumit

    print('Näidete arv algses andmekogumis:', len(X))

    print('Näidete arv rongi andmekogus:', len(X_train))

    print('Näidete arv testandmestikus:', len(X_test))

    # 4. toiming. Juurdepääs näidisandmetele ja nende printimine

    print('\nNäide rongi andmestikust:')

    print(X_train[0], y_train[0])

    print('\nNäide testandmestikust:')

    print(X_test[0], y_test[0])

    See impordiavaldus pärineb scikit-learnist, mitte Hugging Face andmekogumite teegist. Veenduge, et teie keskkonda oleks installitud scikit-learn. Saate selle installida järgmise käsu abil:



    pip install scikit-learn

    Selgitus: Esiteks impordime failist scikit-learn vajaliku mooduli train_test_split.

    • Laadime IMDb-andmestiku, kasutades load_dataset('imdb') ja määrame selle andmestiku muutujale.
    • Train_test_split kasutamiseks peame eraldama sisendfunktsioonid (X) ja vastavad sildid (y). Sel juhul eeldame, et andmestikul on jaotus nimega 'rong', mille sisendfunktsioonid on 'tekst' ja vastavad sildid 'silt'. Võimalik, et peate võtmeid kohandama oma andmestiku struktuuri alusel.
    • Seejärel edastame sisendfunktsioonid (X) ja sildid (y) parameetrile train_test_split koos muude parameetritega. Selles näites määrame test_size väärtuseks 0,2, mis tähendab, et 20% andmetest eraldatakse testimiseks. Segamise parameeter on seatud väärtusele „True”, et enne jagamist andmeid juhuslikult segada, ja parameetri random_state väärtuseks on seatud 42 reprodutseeritavuse huvides.
    • Funktsioon train_test_split tagastab neli andmekomplekti: X_train, X_test, y_train ja y_test. Need esindavad vastavalt sisendfunktsioonide ja siltide koolitus- ja testimisalarühmi.
    • Prindime näidete arvu algses andmekogumis (len(X)), treeningandmestikus (len(X_train)) ja testandmestikus (len(X_test)). See võimaldab meil kontrollida tükeldamise protsessi ja tagada, et alamhulgad luuakse õigesti.
    • Lõpuks pääseme juurde ja prindime näite treeningu andmestikust (X_train[0], y_train[0]) ja näite testandmestikust (X_test[0], y_test[0]).

    Väljund : Käitame varem salvestatud programmi Pythoni 'test.py' abil.

    Järeldus

    Hugging Face'i andmekogumite teegi pakutav rongitesti jagamise funktsioon koos scikit-learn'i train_test_split funktsiooniga pakub mugavat ja tõhusat viisi andmestiku jagamiseks eraldi treening- ja testimisalarühmadeks.

    Kasutades funktsiooni train_test_split, saate kontrollida testikomplekti suurust, andmete segamist ja määrata reprodutseeritavuse jaoks juhuslikku idu. See paindlikkus võimaldab masinõppemudeleid tõhusalt hinnata nähtamatute andmete põhjal ja aitab tuvastada selliseid probleeme nagu üle- või alasobitamine.

    Funktsiooni train_test_split parameetrid võimaldavad teil juhtida jaotuse erinevaid aspekte, näiteks testikomplekti suurust (test_size), andmete segamist (shuffle) ja kihilist jagamist konkreetsete veergude alusel (stratify_by_column). Lisaks saate reprodutseeritavuse tagamiseks määrata algväärtuse (seeme) ja kohandada vahemälufailide nimesid poolitatud indeksite (train_cache_file_name ja test_cache_file_name) salvestamiseks.

    Funktsionaalsus, mida Hugging Face pakub, muudab teie andmete ettevalmistamise mudeli koolituseks ja hindamiseks lihtsamaks. Eraldi koolituse ja testimise alamhulkade abil saate täpselt hinnata oma mudeli toimivust nähtamatute andmete põhjal, tuvastada võimalikke probleeme, nagu ülepaigutamine, ja teha teadlikke otsuseid mudeli täiustamiseks.

    Üldiselt pakub Hugging Face'i andmekogumite teegi rongitesti jagamise funktsioon koos scikit-learn'i train_test_splitiga võimsa tööriistakomplekti tõhusaks andmete jagamiseks, mudelite hindamiseks ja tugevate masinõppelahenduste arendamiseks.