Tutorial Azure: Predicția prețurilor la gaz folosind Azure Machine Learning Studio

Publicat: 2022-03-11

Ce se întâmplă dacă ai putea prezice dacă stocul pe care l-ai ales va crește sau va scădea în cursul lunii următoare? Sau dacă echipa ta de fotbal preferată ar câștiga sau ar pierde următorul meci? Cum poți face astfel de predicții? Poate că învățarea automată poate oferi o parte din răspuns. Cortana, noul asistent personal digital alimentat de Bing, care vine cu Windows Phone 8.1, a prezis cu exactitate 15 din 16 meciuri de la Cupa Mondială FIFA 2014.

În acest tutorial Azure, vom explora caracteristicile și capabilitățile Azure Machine Learning prin rezolvarea uneia dintre problemele cu care ne confruntăm în viața de zi cu zi.

Tutorial Azure Machine Learning

Din punctul de vedere al dezvoltatorului de învățare automată, problemele pot fi împărțite în două grupe - cele care pot fi rezolvate folosind metode standard și cele care nu pot fi rezolvate folosind metode standard. Din păcate, cele mai multe probleme din viața reală aparțin celui de-al doilea grup. Aici intervine învățarea automată. Ideea de bază este să folosiți mașini pentru a găsi modele semnificative în datele istorice și să le folosiți pentru a rezolva problema.

Problema

Prețurile gazelor sunt probabil unul dintre elementele aflate deja în bugetul majorității oamenilor. Creșterea sau scăderea constantă poate influența și prețurile altor produse alimentare și servicii. Există o mulțime de factori care pot influența prețurile la gaze, de la condițiile meteorologice la decizii politice și taxe administrative și la factori total imprevizibili precum dezastrele naturale sau războaiele.

Planul pentru acest tutorial de învățare automată Azure este de a investiga unele date accesibile și de a găsi corelații care pot fi exploatate pentru a crea un model de predicție.

Azure Machine Learning Studio

Azure Machine Learning Studio este un mediu de dezvoltare integrat (IDE) bazat pe web pentru dezvoltarea experimentelor de date. Este strâns legat de restul serviciilor cloud Azure și simplifică dezvoltarea și implementarea modelelor și serviciilor de învățare automată.

Crearea Experimentului

Există cinci pași de bază pentru a crea un exemplu de învățare automată. Vom examina fiecare dintre acești pași prin dezvoltarea propriului model de predicție pentru prețurile gazelor.

Obținerea Datelor

Colectarea datelor este una dintre cele mai importante etape din acest proces. Relevanța și claritatea datelor sunt baza pentru crearea unor modele bune de predicție. Azure Machine Learning Studio oferă o serie de seturi de date eșantion. O altă colecție grozavă de seturi de date poate fi găsită la archive.ics.uci.edu/ml/datasets.html.

După colectarea datelor, trebuie să le încărcăm în Studio prin mecanismul lor simplu de încărcare a datelor:

Azure Machine Learning Studio

Odată încărcat, putem previzualiza datele. Următoarea imagine arată o parte din datele noastre pe care tocmai le-am încărcat. Scopul nostru aici este să prezicăm prețul în coloana etichetată E95.

Studio de învățare automată

Următorul nostru pas este să creăm un nou experiment prin glisarea și plasarea modulelor din panoul din stânga în zona de lucru.

Azure Meachine Learning

Preprocesarea datelor

Preprocesarea datelor disponibile implică ajustarea datelor disponibile la nevoile dumneavoastră. Primul modul pe care îl vom folosi aici este „Statistici descriptive”. Acesta calculează datele statistice din datele disponibile. Pe lângă modulul „Statistici descriptive”, unul dintre modulele utilizate în mod obișnuit este „Curățați datele lipsă”. Scopul acestui pas este de a da sens valorilor lipsă (nule) prin înlocuirea acesteia cu o altă valoare sau prin eliminarea lor completă.

Caracteristici definitorii

Un alt modul aplicat la acest pas în tutorialul nostru este modulul „Selectare caracteristică bazată pe filtre”. Acest modul determină caracteristicile setului de date care sunt cele mai relevante pentru rezultatele pe care dorim să le prezicem. În acest caz, după cum puteți vedea în imaginea de mai jos, cele mai relevante patru caracteristici pentru valorile „E95” sunt „EDG BS”, „Ulei”, „USD/HRK” și „EUR/USD”.

selectarea caracteristicilor bazate pe filtru

Deoarece „EDG BS” este o altă valoare de „ieșire” care nu poate fi utilizată pentru a face predicții, vom selecta doar două dintre caracteristicile importante rămase - adică prețul petrolului și cursul valutar în coloana USD/HRK.

Un eșantion al setului de date după procesare este prezentat mai jos:

set de date azure studio

Alegerea și aplicarea unui algoritm

Următorul nostru pas este să împărțim datele disponibile folosind modulul „Split”. Prima parte a datelor (în cazul nostru 80%) va fi folosită pentru a antrena modelul, iar restul este folosit pentru a nota modelul antrenat.

modul azure split

Următorii pași sunt cei mai importanți pași din întregul proces de învățare automată Azure. Modulul „Model de tren” acceptă doi parametri de intrare. Mai întâi sunt datele brute de antrenament, iar celălalt este algoritmul de învățare. Aici, vom folosi algoritmul „Regresia liniară”. Ieșirea modulului „Train Model” este unul dintre parametrii de intrare ai modulului „Score Model”. Celălalt este restul datelor disponibile. Score Model adaugă o nouă coloană la setul nostru de date, Scored Labels. Valorile din coloana „Etichete punctate” sunt mai apropiate de valorile valorilor lor corespunzătoare E95 atunci când algoritmul de învățare aplicat funcționează bine cu datele disponibile.

modul de model de tren

Modulul Evaluate Model ne oferă o evaluare a modelului antrenat exprimată în valori statistice. Dacă ne uităm la „Coeficientul de determinare”, putem concluziona că există aproximativ 80% șanse de a prezice prețul corect folosind acest model.

Acum, merită să încercați să utilizați modulul „Regresia rețelei neuronale”. Va trebui să adăugăm noi module „Train Model” și „Score Model” și să conectăm rezultatul la modulul existent „Evaluate Model”.

modul de regresie a rețelei neuronale

Modulul „Regresia rețelei neuronale” necesită puțin mai multă configurare. Deoarece acesta este cel mai important modul al întregului experiment, este locul în care ar trebui să ne concentrăm eforturile, modificând și experimentând setările și selectarea algoritmului de învățare corespunzător în ansamblu.

În acest caz, modulul Evaluare ne oferă o comparație a celor două modele antrenate. Din nou, pe baza coeficientului de determinare, vedem că rețelele neuronale oferă predicții ceva mai puțin precise.

azure evalua model

În acest moment, putem salva modelele antrenate selectate pentru utilizare ulterioară.

model antrenat azur

Când avem un model antrenat, putem continua cu crearea „Experiment de punctare”. Acest lucru se poate face prin crearea unui nou experiment de la zero sau prin utilizarea asistentului Azure Machine Learning Studio. Pur și simplu selectați modelul antrenat și faceți clic pe „Creare Scoring Experiment”. Noile module de care avem nevoie aici sunt „Intrare serviciu web” și „Ieșire serviciu web”. Vom adăuga un modul „Coloane de proiect” pentru a selecta valorile noastre de intrare și de ieșire. Valorile de intrare sunt petrol și USD/HRK, iar producția este valoarea estimată în coloana „Etichete punctate” a ieșirii „Model de scor”.

Imaginea de mai jos arată experimentul nostru de punctare după aceste câteva ajustări și după conectarea modulelor „Intrare serviciu web” și „Ieșire serviciu web” în consecință.

experiment de notare

O altă funcție de ajutor ingenioasă vine să joace în acest moment. Cu „Publish Web Service” puteți crea un serviciu web simplu găzduit pe infrastructura cloud a Azure.

publica serviciul web

Prezicerea datelor noi

În cele din urmă, putem testa serviciul nostru web de predicții folosind un formular de testare simplu.

formă de testare azurie

formularul de test de învățare automată

Concluzie

Prin acest tutorial simplu de învățare automată am arătat cum să creați un serviciu web de predicție complet funcțional. Azure Machine Learning Studio integrat în platforma Azure poate fi un instrument foarte puternic pentru crearea de experimente de date. Pe lângă Machine Learning Studio, există și alte soluții de învățare automată, cum ar fi Orange și Tiberious. Indiferent de mediul de dezvoltare care vă place, vă încurajez să explorați învățarea automată și să găsiți cercetătorul de date interior.