Загрљај Фаце Траин и Сплит Датасет

Zagrlaj Face Train I Split Dataset



Библиотека Хуггинг Фаце нема одређену функцију под називом траин_тест_сплит. Међутим, када је у питању подела података за обуку и тестирање у задацима машинског учења, функција траин_тест_сплит се обично користи у другим популарним библиотекама као што је сцикит-леарн. Овде ћемо објаснити параметре који се обично користе у функцији траин_тест_сплит из сцикит-леарн-а.

Метода траин_тест_сплит у библиотеци скупова података Хуггинг Фаце-а се користи за поделу скупа података на два подскупа: подскуп за обуку и подскуп за тестирање. Овај метод се обично користи у машинском учењу за процену перформанси модела на невидљивим подацима. Подскуп за обуку се користи за обуку модела, док се подскуп за тестирање користи за процену његових перформанси и способности генерализације.







Ево прегледа методе траин_тест_сплит у Хуггинг Фаце:



  1. тест_сизе (нумпи.рандом.Генератор, опционо) : Ова опција одређује величину тестног подела. Тип може бити флоат или цео број.
  • Ако је дат као флоат, требало би да одражава проценат скупа података који треба укључити у пробни поделе и да буде између 0,0 и 1,0.
  • Тачан број тестних узорака је представљен вредношћу ако је наведен као цео број.
  • Ако је постављено на Ништа, као вредност се користи допуна величине воза.
  • Ако је величина воза такође Ноне, биће постављена на 0,25 (25% скупа података).
  • траин_сизе (нумпи.рандом.Генератор, опционо): Овим параметром се одређује величина поделе воза. Следи исте смернице као тест_сизе.
    • Ако је дат као флоат, требало би да одражава проценат скупа података који треба укључити у поделу воза и да буде између 0,0 и 1,0.
    • Тачан број узорака воза је представљен вредношћу ако је наведен као цео број.
    • Ако је постављено на Ништа, вредност се аутоматски мења у допуну величине теста.
  • насумично (боол, опционо, подразумевано је тачно)
    • Овај параметар одређује да ли ће се подаци мешати пре раздвајања.
    • Ако је подешено на Тачно, подаци ће бити насумично измешани пре поделе.
    • Ако је постављено на Фалсе, подаци ће бити подељени без мешања.
  • стратифи_би_цолумн (стр, опционо, подразумевано на Ништа)
    • Овај параметар се користи за стратификовано раздвајање података на основу одређене колоне.
    • Ако је наведено, то би требало да буде име колоне ознака или класа.
    • Подаци ће бити подељени на начин који одржава исту дистрибуцију ознака или класа у поделама воза и теста.
  • семе (инт, опционо)
    • Овај параметар вам омогућава да поставите семе за иницијализацију подразумеваног БитГенератора.
    • Ако је подешено на Ништа, нова, непредвидива ентропија ће бити извучена из оперативног система.
    • Ако се прослеђују цели бројеви или цели бројеви слични низу, они ће се користити за извођење почетног стања БитГенератора.
  • генератор (нумпи.рандом.Генератор, опционо)
    • Овај параметар вам омогућава да наведете НумПи насумични генератор за израчунавање пермутације редова скупа података.
    • Ако је подешен на Ништа (подразумевано), користи нп.рандом.дефаулт_рнг који је подразумевани БитГенератор (ПЦГ64) за НумПи.
  • кееп_ин_мемори (боол, подразумевано је Фалсе)
    • Овај параметар одређује да ли ће се подељени индекси задржати у меморији уместо да се уписују у кеш датотеку.
    • Ако је постављено на Тачно, индекси поделе ће бити сачувани у меморији током процеса раздвајања.
    • Ако је подешено на Фалсе, подељени индекси ће бити уписани у кеш датотеку за каснију употребу.
  • лоад_фром_цацхе_филе (Опционално[боол], подразумевано је на Тачно ако је кеширање омогућено)
    • Овај параметар одређује да ли ће се користити кеш датотека за учитавање подељених индекса уместо њиховог поновног израчунавања.
    • Ако је постављено на Тачно и може се идентификовати кеш датотека која чува подељене индексе, она ће се користити.
    • Ако је постављено на Фалсе, подељени индекси ће бити поново израчунати чак и ако постоји кеш датотека.
    • Подразумевана вредност је Тачно ако је кеширање омогућено.
  • траин_цацхе_филе_наме (стр, опционо)
    • Овај параметар вам омогућава да наведете специфичну путању или име за кеш датотеку која чува индексе поделе возова.
    • Ако је специфицирано, индекси раздвојеног воза биће ускладиштени у овој кеш датотеци уместо аутоматски генерисаног имена кеш датотеке.
  • тест_цацхе_филе_наме (стр, опционо)
    • Овај параметар вам омогућава да наведете специфичну путању или име за кеш датотеку која чува индексе поделе теста.
    • Ако је специфицирано, индекси тест подељених података ће бити ускладиштени у овој кеш датотеци уместо аутоматски генерисаног имена кеш датотеке.
  • вритер_батцх_сизе (инт, подразумевано је 1000)
    • Овај параметар одређује број редова по операцији писања за програм за писање кеш датотека.
    • То је компромис између употребе меморије и брзине обраде.
    • Више вредности смањују број операција писања, али троше више меморије током обраде.
    • Ниже вредности троше мање привремене меморије, али могу мало утицати на брзину обраде.
  • траин_нев_фингерпринт (стр, опционо, подразумевано на Ништа)
    • Овај параметар представља нови отисак воза након примене трансформације.
    • Ако је наведено, даје нови отисак прста за гарнитуру воза.
    • Ако је постављено на Ништа, нови отисак прста се израчунава користећи хеш претходног отиска прста и аргументе трансформације.
  • тест_нев_фингерпринт (стр, опционо, подразумевано на Ништа)
    • Овај параметар представља нови отисак прста тестног скупа након примене трансформације.
    • Ако је наведено, даје нови отисак прста за тест сет.
    • Ако је постављено на Ништа, нови отисак прста се израчунава користећи хеш претходног отиска прста и аргументе трансформације.

    Синтакса:

    из склеарн.модел_селецтион импорт траин_тест_сплит

    Кс_траин, Кс_тест, и_траин, и_тест = траин_тест_сплит(Кс, и, тест_сизе=0,2, рандом_стате=42)

    Икс : Ово представља улазне карактеристике или независне варијабле вашег скупа података.



    • и : Ово представља излазну или зависну променљиву коју покушавате да предвидите.
    • тест_сизе : Овај параметар одређује удео скупа података који ће бити додељен за тестирање. Може се навести као флоат (нпр. 0,2 за 20%) или цео број (нпр. 200 за 200 узорака).
    • рандом_стате : Ово је опциони параметар који вам омогућава да поставите семе за генератор случајних бројева. Обезбеђује да је подела поновљива, што значи да ћете добити исти поделе ако користите исту вредност случајног стања.

    Функција траин_тест_сплит враћа четири скупа података:





    • Кс_траин : Сет за обуку улазних функција.
    • Кс_тест : Тестни скуп улазних функција.
    • и_траин : Сет за обуку излазних ознака.
    • и_тест : Скуп за тестирање излазних ознака.

    Пример : Следећи пример програма је сачуван као „ тест.пи ”.

    из склеарн.модел_селецтион импорт траин_тест_сплит

    из скупова података импорт лоад_датасет

    # Корак 1: Учитајте скуп података

    скуп података = лоад_датасет('имдб')

    Кс = скуп података['воз']['текст']

    и = скуп података['воз']['ознака']

    # Корак 2: Поделите скуп података

    Кс_траин, Кс_тест, и_траин, и_тест = траин_тест_сплит(Кс, и, тест_сизе=0,2,

    схуффле=Тачно, рандом_стате=42)

    # Корак 3: Истражите скуп података

    принт('Број примера у оригиналном скупу података:', лен(Кс))

    принт('Број примера у скупу података о возу:', лен(Кс_траин))

    принт('Број примера у скупу података теста:', лен(Кс_тест))

    # Корак 4: Приступите и одштампајте примере података

    принт('\нПример из скупа података о возу:')

    принт(Кс_воз[0], и_воз[0])

    принт('\нПример из скупа података за тестирање:')

    принт(Кс_тест[0], и_тест[0])

    Ова изјава о увозу је из сцикит-леарн, а не из библиотеке скупова података Хуггинг Фаце. Уверите се да имате инсталиран сцикит-леарн у свом окружењу. Можете га инсталирати помоћу следеће команде:



    пип инсталл сцикит-леарн

    Објашњење: Прво увозимо неопходни модул: траин_тест_сплит из сцикит-леарн.

    • Учитавамо ИМДб скуп података користећи лоад_датасет(‘имдб’) и додељујемо га променљивој скупа података.
    • Да бисмо користили траин_тест_сплит, морамо да одвојимо улазне карактеристике (Кс) и одговарајуће ознаке (и). У овом случају, претпостављамо да скуп података има поделу под називом „воз“ са „текстом“ као улазним карактеристикама и „ознаком“ као одговарајућим ознакама. Можда ћете морати да прилагодите кључеве на основу структуре вашег скупа података.
    • Затим преносимо улазне карактеристике (Кс) и ознаке (и) у траин_тест_сплит заједно са другим параметрима. У овом примеру, поставили смо тест_сизе на 0,2 што значи да ће 20% података бити додељено за тестирање. Параметар схуффле је постављен на „Труе“ за насумично мешање података пре раздвајања, а параметар рандом_стате је постављен на 42 ради поновљивости.
    • Функција траин_тест_сплит враћа четири скупа података: Кс_траин, Кс_тест, и_траин и и_тест. Они представљају подскупове за обуку и тестирање улазних карактеристика и ознака, респективно.
    • Штампамо број примера у оригиналном скупу података (лен(Кс)), скупу података за обуку (лен(Кс_траин)) и скупу података теста (лен(Кс_тест)). Ово нам омогућава да проверимо процес раздвајања и осигурамо да су подскупови исправно креирани.
    • На крају, приступамо и штампамо пример из скупа података за обуку (Кс_траин[0], и_траин[0]) и пример из скупа података теста (Кс_тест[0], и_тест[0]).

    Излаз : Покрећемо претходно сачувани програм користећи Питхон „тест.пи“.

    Закључак

    Функција траин-тест сплит коју обезбеђује библиотека скупова података Хуггинг Фаце-а, у комбинацији са сцикит-леарн-овом траин_тест_сплит функцијом, нуди згодан и ефикасан начин да се скуп података подели на засебне подскупове за обуку и тестирање.

    Коришћењем функције траин_тест_сплит, можете да контролишете величину тестног скупа, да ли ћете измешати податке и поставити насумично семе ради поновљивости. Ова флексибилност омогућава ефикасну процену модела машинског учења на невидљивим подацима и помаже у откривању проблема као што су преоптерећење или недовољно опремање.

    Параметри функције траин_тест_сплит омогућавају вам да контролишете различите аспекте поделе, као што је величина тестног скупа (тест_сизе), мешање података (схуффле) и извођење стратификованог поделе на основу специфичних колона (стратифи_би_цолумн). Поред тога, можете да наведете почетну вредност (сеед) за поновљивост и прилагодите имена кеш датотека за складиштење подељених индекса (траин_цацхе_филе_наме и тест_цацхе_филе_наме).

    Функционалност коју Хуггинг Фаце нуди олакшава припрему ваших података за обуку и евалуацију модела. Имајући одвојене подскупове за обуку и тестирање, можете прецизно проценити перформансе свог модела на невидљивим подацима, открити потенцијалне проблеме као што је прекомерно опремање и доносити информисане одлуке за побољшања модела.

    Све у свему, функција траин-тест сплит у библиотеци скупова података Хуггинг Фаце-а, у комбинацији са траин_тест_сплит сцикит-леарн-а, пружа моћан скуп алата за ефикасно раздвајање података, евалуацију модела и развој робусних решења за машинско учење.