Որպես տվյալների գիտնականներ կամ մեքենայական ուսուցման ինժեներներ, երբեմն մենք ցանկանում ենք ավտոմատացնել մեր որոշ առաջադրանքներ: Այստեղ է մտնում AutoML-ը: AutoML-ը պարզապես գործընթաց է, որն անցնում է ML գործընթացի սկզբից մինչև վերջ և պատրաստ է դարձնում մոդելի արտադրությունը:
MLBox-ը բաց կոդով գործիք է, որը կարող է օգտագործվել AutoML-ի համար: Այն կարող է օգնել մշակման, ֆորմատավորման, մաքրման, դասակարգման և ռեգրեսիայի համար SOTA մոդելների կառուցման, բարձրաչափ տարածության հիպերպարամետրի ճշգրիտ օպտիմիզացման և առանձնահատկությունների ճշգրիտ ընտրության հարցում: Եկեք ուսումնասիրենք, թե ինչպես կարող ենք օգտագործել MLBox-ը AutoML-ի համար:
Տեղադրում
Եթե օգտվում եք macOS-ից, նախ պետք է տեղադրել OpenMP-ը, նախքան MLBox-ն աշխատեցնելը: Դա անելու համար եկեք օգտագործենք ստորև նշված հրամանը.
Մենք ունենք MLbox-ը տեղադրելու երկու տարբերակ, նախ՝ կարող ենք օգտագործել pip կամ տեղադրել անմիջապես GitHub ռեպո-ից, pip-ի միջոցով տեղադրելու համար օգտագործեք ստորև նշված հրամանը:
Իսկ GitHub-ի միջոցով տեղադրելու համար մենք նախ պետք է կլոնավորենք ռեպո:
Դրանից հետո հաջորդ բանը թղթապանակ մտնելն է:
Եվ հետո տեղադրեք՝ օգտագործելով ստորև նշված հրամանը:
Մենք կկառուցենք սնկերի դասակարգման պարզ մոդել՝ օգտագործելով այս UCI տվյալների հավաքածուն, որը գտնվել է Kaggle-ում, ցույց տալու համար, թե ինչպես կատարել AutolML MLBox-ով:
Տվյալների նախնական մշակում
Նախ, եկեք ներմուծենք MLBox-ը և այն հնարավորությունները, որոնք մենք կօգտագործենք:
Հիմա եկեք ներմուծենք մեր տվյալների բազան:
MLBox-ն ունի այն, ինչ կոչվում էընթերցողի դաս և օգնում է պատրաստել տվյալները, ինչպիսիք են սյունակների տեսակների եզրակացությունը, անանուն սյունակների ջնջումը, կրկնօրինակների հեռացումը և այլն, ինչպես նաև պատրաստում է գնացքի և թեստի բաժանման տվյալները: Մենք պատրաստվում ենք օգտագործել ընթերցողի հնարավորությունը մեր տվյալները պատրաստելու համար:
Երբ ընթերցողի ֆունկցիան ավարտված է, այն ստեղծում է պահում կոչվող թղթապանակ, որտեղ այն պահում է թիրախային կոդավորիչը հետագա օգտագործման համար, հիմա եկեք հայացք գցենք նոր տվյալներին:
Հեռացումներ
Այս հատկանիշը MLBox-ի առանձնահատկություններից մեկն է, որն այն անում է ավտոմատ կերպով հայտնաբերում է բաշխումը, որը էապես տարբերվում է գնացքի և թեստային հավաքածուի միջև, և այնուհետև հեռացնում դրանք՝ տվյալների բազայում կողմնակալությունից խուսափելու համար: Այն, ինչ անում է MLBox-ը գլխարկի հետևում, այն է, որ այն կառուցում է դասակարգիչ, որը տարբերակում է գնացքը թեստային տվյալներից և այնուհետև օգտագործում է ROC գնահատականը՝ շեղումը չափելու համար:
MLBox-ն ունի Drift_thresholder կոչվող դաս, որն ընդունում է գնացքը, թեստային հավաքածուները և թիրախավորումը և հաշվարկում է դրեյֆի միավոր բոլորի համար, այնուհետև Drift_thresholder-ը ջնջում է այն փոփոխականը, որն ունի շեմից բարձր դրիֆի միավոր:
Այն, ինչ մենք արեցինք վերևում, նախ ստեղծեցինք Drift_thresholder դասի օբյեկտ և այնուհետև օգտագործեցինք օբյեկտի fit_transformը՝ դրիֆտ փոփոխականները հեռացնելու համար:
Ցանկանու՞մ եք ավտոմատ կերպով գրանցել ձեր փորձի պարամետրերը, որպեսզի կարողանաք ավելի արագ կրկնել: «Գրանցվեք ձեր անվճար Comet հաշվի համար այսօր:
Օպտիմալացում
Օպտիմալացման հատկանիշը ստեղծում է օպտիմիզացվելիք բոլոր պարամետրերի բարձրաչափ տարածություն, այնուհետև ընտրում է ամենաքիչ վավերացման գնահատական ունեցող լավագույն պարամետրը: Այն իրականացնում է տարբեր օպտիմիզացումներ՝ առանձնահատկությունների ընտրիչից, NA կոդավորիչից մինչև stacking estimator: Սկսենք օպտիմալացման դասը սկսելու համար:
Այժմ եկեք սահմանենք մեր ընտրությամբ մի քանի կոնֆիգուրացիաների տարածք: Կա նաև լռելյայն MLBox կոնֆիգուրացիան օգտագործելու տարբերակ, բայց մենք այսօր չենք օգտագործի այն, քանի որ ես լուծում եմ որոշակի խնդրի համար:
- ne_numeric/strategy. սահմանում է, թե ինչպես պետք է մշակվեն բացակայող տվյալները թվային հատկանիշներում:
- ce_startegy. կարգավորում է կատեգորիկ փոփոխականների կոդավորումը
- fs. հատկանիշի ընտրություն
- stck՝ մետա-հատկանիշների ստաքեր
- est՝ վերջնական գնահատող
Այժմ մենք կարող ենք գնահատել մոդելը:
Կանխատեսումներ անել
Այժմ մենք կարող ենք հարմարեցնել օպտիմալ խողովակաշարը և այնուհետև կանխատեսել մեր թեստային տվյալների բազայի միջոցով, որպեսզի դա անենք, նախ ստեղծենք դասի գուշակիչի օբյեկտ, այնուհետև օգտագործենք սկզբնական օբյեկտի fit_predict մեթոդը:
Եզրակացություն
Հետևելով այս ձեռնարկին, դուք կարող եք տեսնել, թե ինչպես է AutoML-ը հեշտ, իսկ MLBox-ը հեշտացրել է, որպեսզի որպես մշակողներ կարողանանք ավելի արդյունավետ կերպով հասնել ավելի քիչ ժամանակում, կարող եք անցնել նրանց փաստաթղթերը և ստուգել մի քանի ավելի հիանալի օգտագործման դեպքեր և առանձնահատկություններ, որոնք մենք չենք ուսումնասիրել և փորձել: դրանք դուրս.
Խմբագրի նշում. Heartbeat-ը ներդրողների վրա հիմնված առցանց հրատարակություն է և համայնք, որը նվիրված է տվյալների գիտության, մեքենայական ուսուցման և խորը ուսուցման մասնագետների համար առաջնակարգ կրթական ռեսուրսների տրամադրմանը: Մենք պարտավորվում ենք աջակցել և ոգեշնչել ծրագրավորողներին և ինժեներներին կյանքի բոլոր ոլորտներից:
Խմբագրականորեն անկախ, Heartbeat-ը հովանավորվում և հրատարակվում է Comet MLOps հարթակի կողմից, որը տվյալների գիտնականներին և ML թիմերին հնարավորություն է տալիս հետևել, համեմատել, բացատրել և օպտիմալացնել իրենց փորձերը: Մենք վճարում ենք մեր ներդրողներին և գովազդ չենք վաճառում:
Եթե ցանկանում եք ներդրում ունենալ, անցեք մեր նպաստողների կոչին: Կարող եք նաև գրանցվել՝ ստանալու մեր շաբաթական տեղեկագիրը (Deep Learning Weekly), ստուգել Comet blog-ը, միանալ մեզ »«Slack-ում և հետևել Comet-ին Twitter-ում և LinkedIn-ում ռեսուրսների, իրադարձությունների համար: , և շատ ավելին, որը կօգնի ձեզ ավելի արագ կառուցել ավելի լավ ML մոդելներ: