de Ivan Yung

Un ghid pentru începători pentru instruirea și implementarea modelelor de învățare automată folosind Python

Un ghid pentru incepatori pentru instruirea si implementarea modelelor de

Când am fost introdus pentru prima dată în învățarea automată, nu aveam idee ce citeam. Toate articolele pe care le-am citit au constat din jargon ciudat și ecuații nebunești. Cum aș putea să-mi dau seama de toate acestea?

Am deschis o filă nouă în Chrome și am căutat soluții mai ușoare. Am găsit API-uri de la Amazon, Microsoft și Google care au făcut toate învățăturile automate pentru mine. Fiecare proiect hackathon pe care l-am făcut le-ar chema serverele și WOW – arăta atât de inteligent! Am fost prins.

Dar, după un an, mi-am dat seama că nu învăț nimic. Tot ceea ce făceam a fost descris de acest comic Nedroid pe care l-am modificat:

1611542646 284 Un ghid pentru incepatori pentru instruirea si implementarea modelelor de
Sursa de imagine originală.

În cele din urmă, m-am așezat și am învățat cum să folosesc învățarea automată fără megacorporatii. Și se dovedește că oricine o poate face. Bibliotecile actuale pe care le avem în Python sunt uimitoare. În acest articol, voi explica modul în care folosesc aceste biblioteci pentru a crea un back-end de învățare automată adecvat.

ad-banner

Obținerea unui set de date

Proiectele de învățare automată se bazează pe găsirea unor seturi de date bune. Dacă setul de date este rău sau prea mic, nu putem face predicții exacte. Puteți găsi câteva seturi de date bune la Kaggle sau UC Irvine Machine Learning Repository.

În acest articol, folosesc un set de date de calitate a vinului cu multe caracteristici și o singură etichetă. Caracteristici sunt variabile independente care afectează variabila dependentă numită eticheta. În acest caz, avem unul eticheta coloană – calitatea vinului – care este afectată de toate celelalte coloane (caracteristici precum pH, densitate, aciditate etc.).

În următorul cod Python, folosesc o bibliotecă numită panda pentru a-mi controla setul de date. pandas oferă seturi de date cu multe funcții pentru selectarea și manipularea datelor.

În primul rând, încarc setul de date într-un panda și îl împart în etichetă și caracteristicile sale. Apuc apoi coloana etichetei după numele ei (calitate) și apoi renunț la coloană pentru a obține toate caracteristicile.

1611542646 625 Un ghid pentru incepatori pentru instruirea si implementarea modelelor de
Scikits-learn, biblioteca pe care o vom folosi pentru învățarea automată

Antrenarea unui model

Învățarea automată funcționează prin găsirea unei relații între o etichetă și caracteristicile acesteia. Facem acest lucru arătând unui obiect (modelul nostru) o grămadă de exemple din setul nostru de date. Fiecare exemplu ajută la definirea modului în care fiecare caracteristică afectează eticheta. Ne referim la acest proces ca fiind instruirea modelului nostru.

Folosesc obiectul estimator din Scikit-learn bibliotecă pentru învățarea automată simplă. Estimatori sunt modele goale care creează relații printr-un algoritm predefinit.

Pentru acest set de date de vin, creez un model dintr-un estimator de regresie liniară. (Regresia liniară încearcă să traseze o linie dreaptă de cea mai bună potrivire prin setul nostru de date.) Modelul este capabil să obțină datele de regresie prin funcția de potrivire. Pot folosi modelul trecând un set fals de caracteristici prin funcția predict. Exemplul de mai jos prezintă caracteristicile pentru un vin fals. Modelul va oferi un răspuns pe baza instruirii sale.

Codul pentru acest model și vinul fals este mai jos:

Importul și exportul modelului nostru Python

murături biblioteca face mai ușoară serializarea modelelor în fișiere pe care le creez. De asemenea, pot încărca modelul înapoi în codul meu. Acest lucru îmi permite să păstrez codul de antrenament al modelului separat de codul care îmi implementează modelul.

Pot să import sau să export modelul meu Python pentru utilizare în alte scripturi Python cu codul de mai jos:

Crearea unui server web simplu

1611542647 86 Un ghid pentru incepatori pentru instruirea si implementarea modelelor de
Flask, cadrul pe care îl vom folosi pentru a crea un server web.

Pentru a-mi implementa modelul, trebuie mai întâi să creez un server. Serverele ascultă traficul web și rulează funcții atunci când găsesc o cerere adresată acestora. Funcția care rulează poate depinde de ruta cererii și de alte date pe care le are. Ulterior, serverul poate trimite un mesaj de confirmare înapoi către solicitant.

Balon Cadrul Python îmi permite să creez servere web în timp record.

În codul de mai jos, folosesc Flask pentru a rula un server web simplu cu o singură rută. Traseul meu unic ascultă solicitările POST și îmi trimite un salut înapoi. Cererile POST sunt un tip special de cerere care transportă date într-un obiect JSON.

Adăugarea modelului la serverul meu

Cu biblioteca de murături, pot încărca modelul nostru instruit pe serverul meu web.

Serverul nostru încarcă acum modelul instruit în timpul inițializării sale. Îl pot accesa trimitând o cerere de postare către ruta mea „/ echo”. Traseul preia o serie de caracteristici din corpul solicitării și le oferă modelului. Predicția modelului este apoi trimisă înapoi către solicitant.

Concluzie

După ce ați citit acest articol, ar trebui să vă puteți crea propriul back-end de învățare automată. Pentru mai multe detalii, puteți găsi un exemplu complet la care am făcut acest repertoriu.

Când aveți timp, vă recomand să faceți un pas înapoi de la codare și citirea despre învățarea automată. Acest articol ne învață doar necesitățile pentru a crea un model. Există subiecte precum reducerea pierderilor și plasele neuronale pe care trebuie să le cunoașteți.

Mult succes și codificare fericită!