Hugging Face Train ja Split Dataset

Hugging Face Train Ja Split Dataset



Hugging Face -kirjastossa ei ole erityistä toimintoa nimeltä train_test_split. Kuitenkin, kun on kyse tietojen jakamisesta koulutusta ja testausta varten koneoppimistehtävissä, train_test_split-funktiota käytetään yleisesti muissa suosituissa kirjastoissa, kuten scikit-learnissä. Tässä selitämme parametrit, joita tyypillisesti käytetään scikit-learnin train_test_split-funktiossa.

Train_test_split-menetelmää Hugging Facen tietojoukkokirjastossa käytetään jakamaan tietojoukko kahteen osajoukkoon: harjoitusosajoukkoon ja testausalajoukkoon. Tätä menetelmää käytetään yleisesti koneoppimisessa arvioimaan mallin suorituskykyä näkymättömällä tiedolla. Koulutusosajoukkoa käytetään mallin kouluttamiseen, kun taas testausosajoukkoa käytetään sen suorituskyvyn ja yleistyskyvyn arvioimiseen.







Tässä on yleiskatsaus Train_test_split-menetelmästä Hugging Facessa:



  1. test_size (numpy.random.Generator, valinnainen) : Tämä vaihtoehto määrittää testijaon koon. Tyyppi voi olla joko float tai kokonaisluku.
  • Jos se annetaan kelluvana, sen tulee kuvastaa testijakoon sisällytettävän tietojoukon prosenttiosuutta ja olla välillä 0,0–1,0.
  • Testinäytteiden tarkkaa määrää edustaa arvo, jos se annetaan kokonaislukuna.
  • Jos se on asetettu arvoon Ei mitään, arvona käytetään junan koon komplementtia.
  • Jos junan_koko on myös Ei mitään, sen arvoksi asetetaan 0,25 (25 % tietojoukosta).
  • train_size (numpy.random.Generator, valinnainen): Junan jaon koko määräytyy tällä parametrilla. Se noudattaa samoja ohjeita kuin test_size.
    • Jos se annetaan kelluvana, sen tulee kuvastaa junajakoon sisällytettävän tietojoukon prosenttiosuutta ja olla välillä 0,0–1,0.
    • Junanäytteiden tarkkaa määrää edustaa arvo, jos se toimitetaan kokonaislukuna.
    • Jos se on asetettu arvoon Ei mitään, arvo muuttuu automaattisesti testikoon komplementiksi.
  • sekoitus (bool, valinnainen, oletusarvo on True)
    • Tämä parametri määrittää, sekoitetaanko tiedot ennen jakamista.
    • Jos sen arvo on True, tiedot sekoitetaan satunnaisesti ennen jakamista.
    • Jos sen arvo on False, tiedot jaetaan ilman sekoittamista.
  • stratify_by_column (str, valinnainen, oletuksena Ei mitään)
    • Tätä parametria käytetään tietojen ositettuun jakamiseen tietyn sarakkeen perusteella.
    • Jos se on määritetty, sen tulee olla tarrojen tai luokkien sarakkeen nimi.
    • Tiedot jaetaan tavalla, joka säilyttää saman tarrojen tai luokkien jakautumisen junassa ja testijakoissa.
  • siemenet (valinnainen)
    • Tämän parametrin avulla voit asettaa siemenen oletus BitGeneratorin alustamiseksi.
    • Jos se on asetettu arvoon Ei mitään, käyttöjärjestelmästä vedetään uusi, arvaamaton entropia.
    • Jos välitetään kokonaisluku tai taulukkomainen kokonaisluku, niitä käytetään alkuperäisen BitGenerator-tilan johtamiseen.
  • generaattori (numpy.random.Generator, valinnainen)
    • Tämän parametrin avulla voit määrittää NumPy-satunnaisgeneraattorin tietojoukon rivien permutaatioiden laskemiseksi.
    • Jos se on asetettu arvoon Ei mitään (oletus), se käyttää np.random.default_rng, joka on NumPyn oletusbittigeneraattori (PCG64).
  • keep_in_memory (bool, oletuksena False)
    • Tämä parametri määrittää, säilytetäänkö jaetut indeksit muistissa välimuistitiedostoon kirjoittamisen sijaan.
    • Jos sen arvo on True, jakoindeksit tallennetaan muistiin jakamisen aikana.
    • Jos arvo on False, jaetut indeksit kirjoitetaan välimuistitiedostoon myöhempää käyttöä varten.
  • load_from_cache_file (Valinnainen[bool], oletusarvo on True, jos välimuisti on käytössä)
    • Tämä parametri määrittää, käytetäänkö välimuistitiedostoa jaettujen indeksien lataamiseen sen sijaan, että ne laskettaisiin uudelleen.
    • Jos sen arvo on True ja jaetut indeksit tallentava välimuistitiedosto voidaan tunnistaa, sitä käytetään.
    • Jos sen arvo on False, jakoindeksit lasketaan uudelleen, vaikka välimuistitiedosto olisi olemassa.
    • Oletusarvo on True, jos välimuisti on käytössä.
  • train_cache_file_name (str, valinnainen)
    • Tämän parametrin avulla voit antaa tietyn polun tai nimen välimuistitiedostolle, joka tallentaa junan jakoindeksit.
    • Jos se on määritetty, junan jakoindeksit tallennetaan tähän välimuistitiedostoon automaattisesti luodun välimuistitiedoston nimen sijaan.
  • test_cache_file_name (str, valinnainen)
    • Tämän parametrin avulla voit antaa tietyn polun tai nimen välimuistitiedostolle, joka tallentaa testijakoindeksit.
    • Jos se on määritetty, testijakoindeksit tallennetaan tähän välimuistitiedostoon automaattisesti luodun välimuistitiedoston nimen sijaan.
  • writer_batch_size (int, oletuksena 1000)
    • Tämä parametri määrittää välimuistitiedoston kirjoittajan rivien määrän kirjoitustoimintoa kohden.
    • Se on kompromissi muistin käytön ja käsittelynopeuden välillä.
    • Suuremmat arvot vähentävät kirjoitustoimintojen määrää, mutta kuluttavat enemmän muistia käsittelyn aikana.
    • Pienemmät arvot kuluttavat vähemmän väliaikaista muistia, mutta voivat vaikuttaa hieman käsittelynopeuteen.
  • train_new_fingerprint (str, valinnainen, oletuksena Ei mitään)
    • Tämä parametri edustaa junajoukon uutta sormenjälkeä muunnoksen jälkeen.
    • Jos se on määritetty, se antaa junalle uuden sormenjäljen.
    • Jos sen arvo on Ei mitään, uusi sormenjälki lasketaan käyttämällä edellisen sormenjäljen ja muunnosargumenttien hajautusarvoa.
  • test_new_fingerprint (str, valinnainen, oletuksena ei mitään)
    • Tämä parametri edustaa testijoukon uutta sormenjälkeä muunnoksen jälkeen.
    • Jos se on määritetty, se antaa testisarjalle uuden sormenjäljen.
    • Jos sen arvo on Ei mitään, uusi sormenjälki lasketaan käyttämällä edellisen sormenjäljen ja muunnosargumenttien hajautusarvoa.

    Syntaksi:

    osoitteesta sklearn.model_selection tuonti train_test_split

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

    X : Tämä edustaa tietojoukkosi syöteominaisuuksia tai riippumattomia muuttujia.



    • ja : Tämä edustaa lähtöä tai riippuvaista muuttujaa, jota yrität ennustaa.
    • test_size : Tämä parametri määrittää testaukseen varattavan tietojoukon osuuden. Se voidaan määrittää kellukkeena (esim. 0,2 20 %) tai kokonaislukuna (esim. 200 200 näytteelle).
    • satunnainen_tila : Tämä on valinnainen parametri, jonka avulla voit asettaa siemenen satunnaislukugeneraattorille. Se varmistaa, että jako on toistettavissa, mikä tarkoittaa, että saat saman jaon, jos käytät samaa satunnaistila-arvoa.

    Train_test_split-funktio palauttaa neljä tietojoukkoa:





    • X_train : Syöttöominaisuuksien harjoitussarja.
    • X_test : Syöttöominaisuuksien testausjoukko.
    • y_juna : Tulostustarrojen koulutussarja.
    • y_testi : Tulosten tarrojen testausjoukko.

    Esimerkki : Seuraava esimerkkiohjelma tallennetaan nimellä ' test.py ”.

    osoitteesta sklearn.model_selection tuonti train_test_split

    tietojoukoista tuo load_dataset

    # Vaihe 1: Lataa tietojoukko

    tietojoukko = load_dataset('imdb')

    X = tietojoukko['juna']['teksti']

    y = tietojoukko ['train']['label']

    # Vaihe 2: Jaa tietojoukko

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

    shuffle=True, random_state=42)

    # Vaihe 3: Tutustu tietojoukkoon

    print('Esimerkkien lukumäärä alkuperäisessä tietojoukossa:', len(X))

    print('Esimerkkien määrä junatietojoukossa:', len(X_train))

    print('Esimerkkien lukumäärä testitietojoukossa:', len(X_test))

    # Vaihe 4: Käytä ja tulosta esimerkkitietoja

    print('\nEsimerkki junatietojoukosta:')

    tulosta(X_juna[0], y_juna[0])

    print('\nEsimerkki testitietojoukosta:')

    tulosta (X_testi[0], y_testi[0])

    Tämä tuontilause on peräisin scikit-learnistä, ei Hugging Face -tietojoukkokirjastosta. Varmista, että scikit-learn on asennettu ympäristöösi. Voit asentaa sen seuraavalla komennolla:



    pip install scikit-learn

    Selitys: Ensin tuomme tarvittavan moduulin train_test_split tiedostosta scikit-learn.

    • Lataamme IMDb-tietojoukon käyttämällä load_dataset('imdb') ja liitämme sen tietojoukkomuuttujaan.
    • Train_test_split-parametrin käyttämiseksi meidän on erotettava syöttöominaisuudet (X) ja vastaavat tunnisteet (y). Tässä tapauksessa oletetaan, että tietojoukossa on jako nimeltä 'juna', jossa 'teksti' on syöttöominaisuuksia ja 'label' vastaavina tunnisteina. Sinun on ehkä säädettävä avaimia tietojoukkosi rakenteen perusteella.
    • Sitten välitämme syöteominaisuudet (X) ja tunnisteet (y) train_test_splitille muiden parametrien kanssa. Tässä esimerkissä asetamme testin_koon arvoksi 0,2, mikä tarkoittaa, että 20 % tiedoista varataan testaukseen. Sekoitusparametri on asetettu arvoon 'True', jotta tiedot sekoitetaan satunnaisesti ennen jakamista, ja random_state-parametri on asetettu arvoon 42 toistettavuuden vuoksi.
    • Train_test_split-funktio palauttaa neljä tietojoukkoa: X_train, X_test, y_train ja y_test. Nämä edustavat syöttöominaisuuksien ja tunnisteiden koulutus- ja testausosajoukkoja.
    • Tulostamme esimerkkien lukumäärän alkuperäisessä tietojoukossa (len(X)), harjoitustietojoukossa (len(X_train)) ja testitietojoukossa (len(X_test)). Näin voimme varmistaa jakamisprosessin ja varmistaa, että osajoukot on luotu oikein.
    • Lopuksi käytämme ja tulostamme esimerkin harjoitustietojoukosta (X_train[0], y_train[0]) ja esimerkin testitietojoukosta (X_test[0], y_test[0]).

    Lähtö : Suoritamme aiemmin tallennetun ohjelman Pythonin 'test.py' avulla.

    Johtopäätös

    Hugging Facen tietojoukkokirjaston tarjoama Train-test split -toiminto yhdessä scikit-learnin train_test_split-toiminnon kanssa tarjoaa kätevän ja tehokkaan tavan jakaa tietojoukko erillisiksi harjoitus- ja testausalajoukoiksi.

    Train_test_split-funktion avulla voit hallita testijoukon kokoa, sekoittaako tiedot ja asettaa satunnaisen siemenen toistettavuutta varten. Tämä joustavuus mahdollistaa koneoppimismallien tehokkaan arvioinnin näkymättömällä tiedolla ja auttaa havaitsemaan ongelmat, kuten yli- tai aliasennus.

    Train_test_split-funktion parametrien avulla voit hallita jaon eri näkökohtia, kuten testijoukon kokoa (test_size), tietojen sekoittamista (shuffle) ja ositetun jakamisen suorittamista tiettyjen sarakkeiden perusteella (stratify_by_column). Lisäksi voit määrittää siemenarvon (siemen) toistettavuutta varten ja mukauttaa välimuistitiedostojen nimet jaettujen indeksien tallentamista varten (train_cache_file_name ja test_cache_file_name).

    Hugging Facen tarjoamat toiminnot helpottavat tietojen valmistelua mallikoulutusta ja arviointia varten. Erillisten koulutus- ja testausosien avulla voit arvioida tarkasti mallisi suorituskykyä näkymättömissä tiedoissa, havaita mahdolliset ongelmat, kuten yliasennus, ja tehdä tietoisia päätöksiä mallin parantamiseksi.

    Kaiken kaikkiaan Hugging Facen tietojoukkokirjaston junatestin split -toiminto yhdessä scikit-learnin train_test_splitin kanssa tarjoaa tehokkaan työkalusarjan tehokkaaseen tiedon jakamiseen, mallien arviointiin ja kestävien koneoppimisratkaisujen kehittämiseen.