Hugging Face Train un Split Dataset

Hugging Face Train Un Split Dataset



Bibliotēkai Hugging Face nav noteiktas funkcijas ar nosaukumu train_test_split. Tomēr, ja runa ir par datu sadalīšanu apmācībai un testēšanai mašīnmācīšanās uzdevumos, funkcija train_test_split parasti tiek izmantota citās populārās bibliotēkās, piemēram, scikit-learn. Šeit mēs izskaidrosim parametrus, kas parasti tiek izmantoti funkcijā train_test_split no scikit-learn.

Metode train_test_split Hugging Face datu kopu bibliotēkā tiek izmantota, lai sadalītu datu kopu divās apakškopās: apmācības apakškopā un testēšanas apakškopā. Šo metodi parasti izmanto mašīnmācībā, lai novērtētu modeļa veiktspēju neredzamiem datiem. Apmācības apakškopa tiek izmantota, lai apmācītu modeli, savukārt testēšanas apakškopa tiek izmantota, lai novērtētu tā veiktspēju un vispārināšanas iespējas.







Šeit ir pārskats par train_test_split metodi programmā Hugging Face:



  1. testa_izmērs (numpy.random.Generator, neobligāti) : šī opcija nosaka testa sadalījuma lielumu. Veids var būt peldošs vai vesels skaitlis.
  • Ja tas ir norādīts kā peldošs, tam ir jāatspoguļo testa sadalījumā iekļaujamās datu kopas procentuālā daļa, un tam ir jābūt no 0,0 līdz 1,0.
  • Precīzs testa paraugu skaits tiek attēlots ar vērtību, ja tas ir norādīts kā vesels skaitlis.
  • Ja tas ir iestatīts uz Nav, kā vērtība tiek izmantots vilciena lieluma papildinājums.
  • Ja vilciena_izmērs ir arī None, tas tiks iestatīts uz 0,25 (25% no datu kopas).
  • train_size (numpy.random.Generator, neobligāti): Vilciena sadalījuma lielumu nosaka šis parametrs. Tas izriet no tām pašām vadlīnijām kā test_size.
    • Ja tas ir norādīts kā pludiņš, tam jāatspoguļo vilciena sadalījumā iekļaujamās datu kopas procentuālā daļa, un tam ir jābūt no 0,0 līdz 1,0.
    • Precīzs vilcienu paraugu skaits tiek attēlots ar vērtību, ja tas tiek sniegts kā vesels skaitlis.
    • Ja tas ir iestatīts uz Nav, vērtība tiek automātiski mainīta uz testa lieluma papildinājumu.
  • jaukt (bool, neobligāti, pēc noklusējuma True)
    • Šis parametrs nosaka, vai jaukt datus pirms sadalīšanas.
    • Ja tas ir iestatīts uz True, dati pirms sadalīšanas tiks nejauši sajaukti.
    • Ja tas ir iestatīts uz False, dati tiks sadalīti bez jaukšanas.
  • stratify_by_column (str, neobligāti, pēc noklusējuma nav)
    • Šis parametrs tiek izmantots datu stratificētai sadalīšanai, pamatojoties uz noteiktu kolonnu.
    • Ja tas ir norādīts, tam ir jābūt etiķešu vai klašu kolonnas nosaukumam.
    • Dati tiks sadalīti tā, lai saglabātu vienādu marķējumu vai klašu sadalījumu vilcienā un testa sadalījumos.
  • sēklas (int, pēc izvēles)
    • Šis parametrs ļauj iestatīt sēklu, lai inicializētu noklusējuma BitGenerator.
    • Ja tas ir iestatīts uz None, no operētājsistēmas tiks izvilkta jauna, neparedzama entropija.
    • Ja tiek nodots vesels skaitlis vai masīvam līdzīgi veseli skaitļi, tie tiks izmantoti sākotnējā BitGenerator stāvokļa atvasināšanai.
  • ģenerators (numpy.random.Generator, pēc izvēles)
    • Šis parametrs ļauj norādīt NumPy nejaušības ģeneratoru, lai aprēķinātu datu kopas rindu permutāciju.
    • Ja tas ir iestatīts uz None (noklusējums), tas izmanto np.random.default_rng, kas ir noklusējuma BitGenerator (PCG64) no NumPy.
  • keep_in_memory (bool, noklusējuma vērtība ir False)
    • Šis parametrs nosaka, vai sadalītos indeksus saglabāt atmiņā, nevis rakstīt kešatmiņas failā.
    • Ja tas ir iestatīts uz True, sadalīšanas procesa laikā sadalīšanas indeksi tiks saglabāti atmiņā.
    • Ja tas ir iestatīts uz False, sadalītie indeksi tiks ierakstīti kešatmiņas failā vēlākai lietošanai.
  • load_from_cache_file (Neobligāti[bool], pēc noklusējuma ir True, ja ir iespējota kešatmiņa)
    • Šis parametrs nosaka, vai izmantot kešatmiņas failu, lai ielādētu sadalītos indeksus, nevis tos pārrēķinātu.
    • Ja tas ir iestatīts uz True un var identificēt kešatmiņas failu, kurā tiek glabāti sadalītie indeksi, tas tiks izmantots.
    • Ja tas ir iestatīts uz False, sadalītie indeksi tiks pārrēķināti pat tad, ja pastāv kešatmiņas fails.
    • Noklusējuma vērtība ir True, ja ir iespējota kešatmiņa.
  • train_cache_file_name (str, neobligāti)
    • Šis parametrs ļauj norādīt konkrētu ceļu vai nosaukumu kešatmiņas failam, kurā tiek glabāti vilciena sadalījuma indeksi.
    • Ja tas ir norādīts, vilciena sadalījuma indeksi tiks saglabāti šajā kešatmiņas failā, nevis automātiski ģenerētā kešatmiņas faila nosaukuma vietā.
  • testa_kešatmiņas_faila_nosaukums (str, neobligāti)
    • Šis parametrs ļauj norādīt konkrētu ceļu vai nosaukumu kešatmiņas failam, kurā tiek glabāti testa sadalījuma indeksi.
    • Ja tas ir norādīts, šajā kešatmiņas failā tiks saglabāti testa sadalījuma indeksi, nevis automātiski ģenerēts kešatmiņas faila nosaukums.
  • writer_batch_size (int, noklusējuma vērtība ir 1000)
    • Šis parametrs nosaka rindu skaitu vienā rakstīšanas operācijā kešatmiņas faila rakstītājam.
    • Tas ir kompromiss starp atmiņas izmantošanu un apstrādes ātrumu.
    • Augstākas vērtības samazina rakstīšanas darbību skaitu, bet apstrādes laikā patērē vairāk atmiņas.
    • Zemākas vērtības patērē mazāk pagaidu atmiņas, bet var nedaudz ietekmēt apstrādes ātrumu.
  • train_new_fingerprint (str, neobligāti, pēc noklusējuma nav)
    • Šis parametrs apzīmē jauno vilciena komplekta pirkstu nospiedumu pēc transformācijas piemērošanas.
    • Ja tas ir norādīts, tas nodrošina jaunu pirkstu nospiedumu vilciena komplektam.
    • Ja tas ir iestatīts uz Neviens, jaunais pirksta nospiedums tiek aprēķināts, izmantojot iepriekšējā pirksta nospieduma jaukšanu un transformācijas argumentus.
  • test_new_fingerprint (str, neobligāti, pēc noklusējuma nav)
    • Šis parametrs apzīmē jauno testa kopas pirkstu nospiedumu pēc transformācijas piemērošanas.
    • Ja tas ir norādīts, tas nodrošina jaunu pirksta nospiedumu testa komplektam.
    • Ja tas ir iestatīts uz Neviens, jaunais pirksta nospiedums tiek aprēķināts, izmantojot iepriekšējā pirksta nospieduma jaukšanu un transformācijas argumentus.

    Sintakse:

    no sklearn.model_selection importēšanas train_test_split

    X_vilciens, X_tests, y_vilciens, y_tests = vilciena_pārbaudes_dalījums(X, y, testa_izmērs = 0,2, nejaušības_stāvoklis = 42)

    X : tas apzīmē jūsu datu kopas ievades līdzekļus vai neatkarīgos mainīgos.



    • un : tas apzīmē izvades vai atkarīgo mainīgo, ko mēģināt paredzēt.
    • testa_izmērs : šis parametrs nosaka datu kopas daļu, kas tiks piešķirta testēšanai. To var norādīt kā peldošu (piemēram, 0,2 — 20%) vai veselu skaitli (piemēram, 200 — 200 paraugiem).
    • random_state : Šis ir izvēles parametrs, kas ļauj iestatīt sēklu nejaušo skaitļu ģeneratoram. Tas nodrošina, ka sadalījums ir reproducējams, kas nozīmē, ka jūs iegūsit to pašu sadalījumu, ja izmantosit to pašu izlases stāvokļa vērtību.

    Funkcija train_test_split atgriež četras datu kopas:





    • X_vilciens : ievades funkciju apmācības kopa.
    • X_test : ievades funkciju testēšanas kopa.
    • y_vilciens : izvades etiķešu apmācības komplekts.
    • y_test : izvades etiķešu testēšanas kopa.

    Piemērs : šī programmas paraugs tiek saglabāts kā ' test.py ”.

    no sklearn.model_selection importēšanas train_test_split

    no datu kopām importēt load_dataset

    # 1. darbība: ielādējiet datu kopu

    datu kopa = load_dataset('imdb')

    X = datu kopa ['vilciens']['teksts']

    y = datu kopa ['vilciens']['iezīme']

    # 2. darbība: sadaliet datu kopu

    X_vilciens, X_tests, y_vilciens, y_tests = vilciena_pārbaudes_dalījums(X, y, testa_izmērs=0,2,

    shuffle=True, random_state=42)

    # 3. darbība. Izpētiet datu kopu

    print('Piemēru skaits sākotnējā datu kopā:', len(X))

    print('Piemēru skaits vilciena datu kopā:', len(X_vilciens))

    print('Piemēru skaits testa datu kopā:', len(X_test))

    # 4. darbība. Piekļūstiet un izdrukājiet piemēru datus

    print('\nPiemērs no vilciena datu kopas:')

    drukāt (X_vilciens[0], y_vilciens[0])

    print('\nPiemērs no testa datu kopas:')

    drukāt (X_test[0], y_test[0])

    Šis importēšanas paziņojums ir no scikit-learn, nevis no Hugging Face datu kopu bibliotēkas. Lūdzu, pārliecinieties, vai jūsu vidē ir instalēta programma scikit-learn. Varat to instalēt, izmantojot šādu komandu:



    pip instalēt scikit-learn

    Paskaidrojums: Pirmkārt, mēs importējam nepieciešamo moduli: train_test_split no scikit-learn.

    • Mēs ielādējam IMDb datu kopu, izmantojot load_dataset('imdb'), un piešķiram to datu kopas mainīgajam.
    • Lai izmantotu train_test_split, mums ir jāatdala ievades līdzekļi (X) un atbilstošās etiķetes (y). Šajā gadījumā mēs pieņemam, ka datu kopai ir sadalījums ar nosaukumu “vilciens” ar “text” kā ievades līdzekļiem un “label” kā atbilstošām etiķetēm. Iespējams, jums būs jāpielāgo atslēgas, pamatojoties uz datu kopas struktūru.
    • Pēc tam mēs nododam ievades līdzekļus (X) un etiķetes (y) uz train_test_split kopā ar citiem parametriem. Šajā piemērā testa_izmērs ir iestatīts uz 0,2, kas nozīmē, ka testēšanai tiks piešķirti 20% datu. Jaukšanas parametrs ir iestatīts uz “True”, lai nejauši sajauktu datus pirms sadalīšanas, un parametrs random_state ir iestatīts uz 42, lai nodrošinātu reproducējamību.
    • Funkcija train_test_split atgriež četras datu kopas: X_train, X_test, y_train un y_test. Tie atspoguļo attiecīgi ievades līdzekļu un etiķešu apmācības un testēšanas apakškopas.
    • Mēs izdrukājam piemēru skaitu sākotnējā datu kopā (len(X)), apmācības datu kopā (len(X_train)) un testa datu kopā (len(X_test)). Tas ļauj mums pārbaudīt sadalīšanas procesu un nodrošināt, ka apakškopas ir izveidotas pareizi.
    • Visbeidzot, mēs piekļūstam un izdrukājam piemēru no apmācības datu kopas (X_train[0], y_train[0]) un piemēru no testa datu kopas (X_test[0], y_test[0]).

    Izvade : Mēs palaižam iepriekš saglabāto programmu, izmantojot Python “test.py”.

    Secinājums

    Vilcienu pārbaudes sadalīšanas funkcionalitāte, ko nodrošina Hugging Face datu kopu bibliotēka, kopā ar scikit-learn funkciju train_test_split, piedāvā ērtu un efektīvu veidu, kā sadalīt datu kopu atsevišķās apmācības un testēšanas apakškopās.

    Izmantojot funkciju train_test_split, varat kontrolēt testa kopas lielumu, jaukt datus un iestatīt izlases sēklu reproducējamībai. Šī elastība ļauj efektīvi novērtēt mašīnmācīšanās modeļus, izmantojot neredzētus datus, un palīdz atklāt tādas problēmas kā pārmērīga vai nepietiekama uzstādīšana.

    Funkcijas train_test_split parametri ļauj kontrolēt dažādus sadalījuma aspektus, piemēram, testa kopas lielumu (test_size), datu jaukšanu (jaukt) un stratificētu sadalīšanu, pamatojoties uz konkrētām kolonnām (stratify_by_column). Turklāt varat norādīt sākuma vērtību (seed) reproducējamībai un pielāgot kešatmiņas failu nosaukumus sadalīto indeksu glabāšanai (train_cache_file_name un test_cache_file_name).

    Hugging Face piedāvātā funkcionalitāte atvieglo datu sagatavošanu modeļu apmācībai un novērtēšanai. Izmantojot atsevišķas apmācības un testēšanas apakškopas, varat precīzi novērtēt sava modeļa veiktspēju, izmantojot neredzētus datus, atklāt iespējamās problēmas, piemēram, pārmērīgu uzstādīšanu, un pieņemt pārdomātus lēmumus par modeļa uzlabojumiem.

    Kopumā Hugging Face datu kopu bibliotēkas vilcienu pārbaudes sadalījuma funkcionalitāte kopā ar scikit-learn train_test_split nodrošina jaudīgu rīku kopu efektīvai datu sadalīšanai, modeļu novērtēšanai un stabilu mašīnmācīšanās risinājumu izstrādei.