Hugging Face Train a Split Dataset

Hugging Face Train A Split Dataset



Knižnica Hugging Face nemá špecifickú funkciu s názvom train_test_split. Pokiaľ však ide o rozdelenie údajov na školenie a testovanie v úlohách strojového učenia, funkcia train_test_split sa bežne používa v iných populárnych knižniciach, ako je napríklad scikit-learn. Tu vysvetlíme parametre, ktoré sa zvyčajne používajú vo funkcii train_test_split zo scikit-learn.

Metóda train_test_split v knižnici množín údajov Hugging Face sa používa na rozdelenie množiny údajov na dve podmnožiny: trénovaciu podmnožinu a testovaciu podmnožinu. Táto metóda sa bežne používa v strojovom učení na vyhodnotenie výkonu modelu na neviditeľných údajoch. Tréningová podmnožina sa používa na trénovanie modelu, zatiaľ čo testovacia podmnožina sa používa na hodnotenie jeho výkonnosti a schopností zovšeobecnenia.







Tu je prehľad metódy train_test_split v Hugging Face:



  1. test_size (numpy.random.Generator, voliteľné) : Veľkosť testovacej časti je určená touto voľbou. Typ môže byť float alebo integer.
  • Ak sa uvádza ako pohyblivá, mala by odrážať percento súboru údajov, ktoré sa má zahrnúť do testovacej časti, a malo by byť medzi 0,0 a 1,0.
  • Presný počet skúšobných vzoriek predstavuje hodnota, ak je zadaná ako celé číslo.
  • Ak je nastavená na Žiadne, ako hodnota sa použije doplnok veľkosti vlaku.
  • Ak je veľkosť vlaku tiež Žiadna, nastaví sa na 0,25 (25 % množiny údajov).
  • train_size (numpy.random.Generator, voliteľné): Veľkosť rozdelenia vlaku je určená týmto parametrom. Riadi sa rovnakými pokynmi ako test_veľkosť.
    • Ak je uvedený ako pohyblivý, mal by odrážať percento súboru údajov, ktoré sa má zahrnúť do rozdelenia vlaku, a malo by byť medzi 0,0 a 1,0.
    • Presný počet vzoriek vlaku predstavuje hodnota, ak je zadaná ako celé číslo.
    • Ak je nastavené na Žiadne, hodnota sa automaticky zmení na doplnok testovacej veľkosti.
  • shuffle (bool, voliteľné, predvolená hodnota True)
    • Tento parameter určuje, či sa majú údaje pred rozdelením premiešať alebo nie.
    • Ak je nastavená na hodnotu True, údaje sa pred rozdelením náhodne premiešajú.
    • Ak je nastavená na hodnotu False, údaje sa rozdelia bez miešania.
  • stratify_by_column (str, voliteľné, predvolená hodnota je Žiadne)
    • Tento parameter sa používa na stratifikované rozdelenie údajov na základe konkrétneho stĺpca.
    • Ak je zadaný, mal by to byť názov stĺpca návestí alebo tried.
    • Údaje budú rozdelené tak, aby sa zachovala rovnaká distribúcia označení alebo tried v rozdelení vlaku a teste.
  • osivo (int, voliteľné)
    • Tento parameter vám umožňuje nastaviť seed na inicializáciu predvoleného BitGeneratora.
    • Ak je nastavená na Žiadne, z operačného systému sa stiahne nová, nepredvídateľná entropia.
    • Ak sa odovzdá celé číslo alebo celé čísla podobné poli, použijú sa na odvodenie počiatočného stavu BitGenerator.
  • generátor (numpy.random.Generator, voliteľný)
    • Tento parameter vám umožňuje zadať generátor náhodných čísel NumPy na výpočet permutácie riadkov množiny údajov.
    • Ak je nastavený na None (predvolené), používa np.random.default_rng, čo je predvolený BitGenerator (PCG64) NumPy.
  • keep_in_memory (bool, predvolená hodnota je False)
    • Tento parameter určuje, či sa majú rozdelené indexy ponechať v pamäti namiesto ich zapisovania do súboru vyrovnávacej pamäte.
    • Ak je nastavená na hodnotu True, indexy delenia sa počas procesu delenia uložia do pamäte.
    • Ak je nastavená na hodnotu False, rozdelené indexy sa zapíšu do vyrovnávacej pamäte na neskoršie použitie.
  • load_from_cache_file (voliteľné[bool], predvolená hodnota je True, ak je povolené ukladanie do vyrovnávacej pamäte)
    • Tento parameter určuje, či sa má použiť súbor vyrovnávacej pamäte na načítanie rozdelených indexov namiesto ich prepočítavania.
    • Ak je nastavená na hodnotu True a je možné identifikovať súbor vyrovnávacej pamäte, v ktorom sú uložené rozdelené indexy, použije sa.
    • Ak je nastavená na hodnotu False, rozdelené indexy sa prepočítajú, aj keď existuje súbor vyrovnávacej pamäte.
    • Predvolená hodnota je True, ak je povolené ukladanie do vyrovnávacej pamäte.
  • train_cache_file_name (str, voliteľné)
    • Tento parameter vám umožňuje zadať špecifickú cestu alebo názov pre súbor vyrovnávacej pamäte, v ktorom sú uložené indexy rozdelenia vlakov.
    • Ak je zadaný, indexy rozdelenia vlaku sa uložia do tohto súboru vyrovnávacej pamäte namiesto automaticky vygenerovaného názvu súboru vyrovnávacej pamäte.
  • test_cache_file_name (str, voliteľné)
    • Tento parameter vám umožňuje zadať špecifickú cestu alebo názov pre súbor vyrovnávacej pamäte, v ktorom sú uložené indexy testovacieho rozdelenia.
    • Ak je zadaný, indexy testovacieho rozdelenia sa uložia do tohto súboru vyrovnávacej pamäte namiesto automaticky vygenerovaného názvu súboru vyrovnávacej pamäte.
  • Write_batch_size (int, predvolená hodnota je 1000)
    • Tento parameter určuje počet riadkov na operáciu zápisu pre zapisovač súboru vyrovnávacej pamäte.
    • Ide o kompromis medzi využitím pamäte a rýchlosťou spracovania.
    • Vyššie hodnoty znižujú počet operácií zápisu, ale spotrebúvajú viac pamäte počas spracovania.
    • Nižšie hodnoty spotrebujú menej dočasnej pamäte, ale môžu mierne ovplyvniť rýchlosť spracovania.
  • train_new_fingerprint (str, voliteľné, predvolená hodnota je Žiadne)
    • Tento parameter predstavuje nový odtlačok vlakovej súpravy po aplikácii transformácie.
    • Ak je špecifikovaný, poskytuje nový odtlačok pre vlakovú súpravu.
    • Ak je nastavená na Žiadne, nový odtlačok sa vypočíta pomocou hash predchádzajúceho odtlačku a argumentov transformácie.
  • test_new_fingerprint (str, voliteľné, predvolená hodnota je Žiadne)
    • Tento parameter predstavuje nový odtlačok testovacej sady po aplikácii transformácie.
    • Ak je špecifikovaný, poskytuje nový odtlačok prsta pre testovaciu súpravu.
    • Ak je nastavená na Žiadne, nový odtlačok sa vypočíta pomocou hash predchádzajúceho odtlačku a argumentov transformácie.

    Syntax:

    zo sklearn.model_selection import train_test_split

    X_train, X_test, y_train, y_test = train_test_split(X, y, test_veľkosť=0,2, náhodný_stav=42)

    X : Predstavuje vstupné funkcie alebo nezávislé premenné vašej množiny údajov.



    • a : Predstavuje výstup alebo závislú premennú, ktorú sa pokúšate predpovedať.
    • test_veľkosť : Tento parameter určuje podiel súboru údajov, ktorý bude pridelený na testovanie. Môže byť špecifikovaný ako float (napr. 0,2 pre 20 %) alebo celé číslo (napr. 200 pre 200 vzoriek).
    • náhodný_stav : Toto je voliteľný parameter, ktorý vám umožňuje nastaviť zdroj pre generátor náhodných čísel. Zabezpečuje, že rozdelenie je reprodukovateľné, čo znamená, že získate rovnaké rozdelenie, ak použijete rovnakú náhodnú hodnotu stavu.

    Funkcia train_test_split vracia štyri sady údajov:





    • X_train : Tréningová sada vstupných funkcií.
    • X_test : Testovacia sada vstupných funkcií.
    • y_train : Tréningová množina výstupných štítkov.
    • y_test : Testovacia sada výstupných štítkov.

    Príklad : Nasledujúci príklad programu je uložený ako „ test.py “.

    zo sklearn.model_selection import train_test_split

    z dátových množín importovať load_dataset

    # Krok 1: Načítajte súbor údajov

    dataset = load_dataset('imdb')

    X = množina údajov['train']['text']

    y = množina údajov['train']['label']

    # Krok 2: Rozdeľte množinu údajov

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

    shuffle=True, random_state=42)

    # Krok 3: Preskúmajte množinu údajov

    print('Počet príkladov v pôvodnom súbore údajov:', len(X))

    print('Počet príkladov v súbore údajov vlaku:', len(X_train))

    print('Počet príkladov v testovacej množine údajov:', len(X_test))

    # Krok 4: Prístup k vzorovým údajom a ich tlač

    print('\nPríklad zo súboru údajov o vlaku:')

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

    print('\nPríklad z testovacej množiny údajov:')

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

    Tento príkaz importu pochádza zo scikit-learn, nie z knižnice množín údajov Hugging Face. Prosím, uistite sa, že máte scikit-learn nainštalovaný vo vašom prostredí. Môžete ho nainštalovať pomocou nasledujúceho príkazu:



    pip install scikit-learn

    Vysvetlenie: Najprv importujeme potrebný modul: train_test_split zo scikit-learn.

    • Dataset IMDb načítame pomocou load_dataset(‘imdb’) a priradíme ho k premennej datasetu.
    • Aby sme mohli použiť train_test_split, musíme oddeliť vstupné vlastnosti (X) a zodpovedajúce označenia (y). V tomto prípade predpokladáme, že množina údajov má rozdelenie s názvom „vlak“ s „textom“ ako vstupnými funkciami a „štítok“ ako zodpovedajúcimi štítkami. Možno budete musieť upraviť kľúče na základe štruktúry vašej množiny údajov.
    • Potom odovzdáme vstupné vlastnosti (X) a návestia (y) do train_test_split spolu s ďalšími parametrami. V tomto príklade sme nastavili test_veľkosť na 0,2, čo znamená, že 20 % údajov bude alokovaných na testovanie. Parameter shuffle je nastavený na „True“, aby sa údaje pred rozdelením náhodne premiešali, a parameter random_state je nastavený na hodnotu 42 kvôli reprodukovateľnosti.
    • Funkcia train_test_split vracia štyri sady údajov: X_train, X_test, y_train a y_test. Tieto reprezentujú tréningové a testovacie podmnožiny vstupných funkcií a označení.
    • Vytlačíme počet príkladov v pôvodnom súbore údajov (len(X)), tréningovom súbore údajov (len(X_train)) a testovanom súbore údajov (len(X_test)). To nám umožňuje overiť proces rozdelenia a zabezpečiť, aby boli podmnožiny vytvorené správne.
    • Nakoniec sprístupníme a vytlačíme príklad z tréningového súboru údajov (X_train[0], y_train[0]) a príklad z testovacieho súboru údajov (X_test[0], y_test[0]).

    Výkon : Predtým uložený program spustíme pomocou Pythonu „test.py“.

    Záver

    Funkcia testovania vlaku, ktorú poskytuje knižnica súborov údajov Hugging Face, v kombinácii s funkciou train_test_split od scikit-learn, ponúka pohodlný a efektívny spôsob, ako rozdeliť súbor údajov na samostatné tréningové a testovacie podmnožiny.

    Použitím funkcie train_test_split môžete ovládať veľkosť testovacej sady, či sa majú údaje zamiešať, a nastaviť náhodné semeno pre reprodukovateľnosť. Táto flexibilita umožňuje efektívne hodnotenie modelov strojového učenia na neviditeľných údajoch a pomáha pri zisťovaní problémov, ako je nadmerné alebo nedostatočné vybavenie.

    Parametre funkcie train_test_split vám umožňujú ovládať rôzne aspekty rozdelenia, ako je veľkosť testovacej sady (test_size), miešanie údajov (shuffle) a vykonávanie stratifikovaného rozdelenia na základe konkrétnych stĺpcov (stratify_by_column). Okrem toho môžete zadať počiatočnú hodnotu (seed) pre reprodukovateľnosť a prispôsobiť názvy súborov vyrovnávacej pamäte na ukladanie rozdelených indexov (názov_súboru_train_cache a názov_súboru_testovacej_cache).

    Funkcionalita, ktorú Hugging Face ponúka, uľahčuje prípravu vašich údajov na tréning a hodnotenie modelu. Vďaka oddeleným školiacim a testovacím podmnožinám môžete presne posúdiť výkon vášho modelu na neviditeľných údajoch, odhaliť potenciálne problémy, ako je nadmerné vybavenie, a urobiť informované rozhodnutia pre vylepšenia modelu.

    Celkovo funkcia testovania vlakov v knižnici súborov údajov Hugging Face v spojení s train_test_split od scikit-learn poskytuje výkonnú sadu nástrojov na efektívne delenie údajov, hodnotenie modelov a vývoj robustných riešení strojového učenia.