Usluge analize podataka i mašinskog učenja. Primjena mašinskog učenja u IT outsourcingu. Pravci razvoja proizvoda

Danas je interesovanje za stručnjake za analizu podataka dostiglo tačku da se samo najskromnija osoba ne bi nazvala Data Scientistom da je barem nekoliko puta trenirala logističku regresiju ili ansambli drveća. Analiza podataka i mašinsko učenje posebno nisu laki prelijepe riječi. Ovo je prava magija koja se može transformisati svijet, a u Yandexu zaista možete ući u to, upoznati ljude koji su jaki u tome, naučiti i naučiti raditi puno novih stvari.

Ako već razumijete da modeli klasifikacije, regresije, grupisanja, rangiranja imaju mjerljive prednosti za usluge koje koriste ove modele i njihove krajnje korisnike, da model ne samo da „predviđa cilj“, već optimizira neke metrike koje je važno uskladiti s ciljevi poslovanja, onda ćete verovatno biti zainteresovani za nas. Ukoliko do sada niste imali priliku da učestvujete u izgradnji veze između mašinskog učenja i poslovnih potreba, ali biste to zaista želeli, i ovo radno mesto je vredno vaše pažnje.

U Yandex.Taxi-ju se stvara grupa koja će implementirati metode mašinskog učenja u najvećoj taksi službi u Rusiji. Potrebni su nam analitičari koji:

  • zaljubljeni su u analizu podataka i poznaju osnovne principe i metode mašinskog učenja (mogu razlikovati preopterećenje od nedovoljnog prilagođavanja, log regresiju od SVM-a, pojačavanje od gomilanja, preciznost od tačnosti);
  • razumjeti zašto je analitičaru potrebna matematička statistika;
  • žele da njihov rad utiče na milione putovanja naših korisnika svake nedelje.

Obavezni zahtjevi:

  • poznavanje matematičke statistike i teorije vjerovatnoće;
  • poznavanje najpopularnijih metoda učenja pod nadzorom (linearni modeli, ansambli stabala, kNN, naivni Bayes klasifikator) i razumijevanje u kojim slučajevima ih je prikladno koristiti i kako dijagnosticirati njihov rad;
  • poznavanje metrika kvaliteta koje se obično koriste u mašinskom učenju, razumevanje razlika između njih, sposobnost interpretacije različitih metričkih vrednosti;
  • dobra tehnička obuka: samouvereno korišćenje Pythona i poznavanje biblioteka za rad sa podacima - numpy, scipy, matplotlib, pandas, sklearn, iskustvo korišćenja xgboosta i vowpal wabbit-a;
  • znanje na engleskom na nivou čitanja tehničke literature.

Dobrodošli:

  • više matematičko ili tehničko obrazovanje;
  • iskustvo u rješavanju problema u oblasti analize podataka i mašinskog učenja;
  • iskustvo u primeni primenjene matematičke statistike, na primer, procena intervala poverenja ciljnih indikatora, statistički značaj rezultata A/B testiranja;
  • razumijevanje načina na koji se može procijeniti potencijalni ekonomski uticaj implementacije modela zasnovanog na mašinskom učenju i kako se metrika kvaliteta može povezati s tim efektom;
  • razumijevanje kako procijeniti kvalitet modela offline (koristeći historijske podatke) i online (u proizvodnji);
  • uvod u Linux;
  • uvod u Map Reduce;
  • poznavanje klasičnih algoritama i struktura podataka;
  • poznavanje SQL-a;
  • sposobnost čitanja C++ koda;
  • iskustvo na sličnoj poziciji.

Usluga Azure Machine Learning je trenutno u javnom pregledu, dostupna svima koji imaju Azure nalog (ili barem probni pristup). Ako se pitate zašto sam uvijek bio toliko uzbuđen zbog ove tehnologije, pogledajte moj post koji sam napisao prije mjesec dana ili pročitajte ovaj post u kojem ću vam reći sve o tome.

Ukratko, da biste izvršili zadatke prediktivne analitike koristeći Azure Machine Learning, samo trebate slijediti ove korake:

  1. Preuzmite ili uvezite na mreži bilo koje trenutne ili akumulirane podaci(na primjer, demografija vašeg klijenta i njihovi ukupni troškovi)
  2. Izgradite i potvrdite model(npr. predviđanje troškova na osnovu demografskih podataka)
  3. Kreirajte web uslugu koja koristi vaše modele za brz rad predviđanja u realnom vremenu (odlučite šta nudite novom klijentu na osnovu njegove demografije)

Azure ML usluga (također poznata kao Passau projekat) predstavljen je sa dvije konceptualne komponente: Eksperimenti I Web Services i jedan razvojni alat pod nazivom ML Studio. Možete pozvati druge osobe sa Microsoft nalogom (Live ID) da sarađuju u vašem radnom okruženju ( radnim prostorima) koristeći ML Studio i čak ne moraju platiti pretplatu na Azure da bi radili s vama.

Eksperimenti mogu se predstaviti kao konfiguracije za streaming ( protok podataka) šta biste željeli učiniti sa svojim podacima i svojim modelima. Kao naučnik za Azure ML podatke, vaš fokus je na eksperimentima i sve svoje vrijeme u ML Studiju možete provoditi ne radeći ništa više od obnavljanja eksperimenata, mijenjanja parametara, mijenjanja algoritama, provjere kriterija, periodičnog izmjena podataka itd. ML Studio je web aplikacija i izgleda slično Azure portalu za upravljanje (u vrijeme pisanja, sredina 2014.). Interfejs izgleda čisto, lijepo i dobro radi ne samo u IE, već iu Firefoxu i Chromeu, iako uz neke rezerve, ali ovo je samo prva verzija za pregled.

ML Studio je mjesto gdje započinjete svoj rad tako što odlučujete koje izvore podataka želite koristiti: skupove podataka koje ste preuzeli ili podatke uživo koji su dostupni putem motora Reader sa web stranice, OData, SQL Azure, Microsoft Azure, Hive ili Azure blobs. Tada ćete možda morati nešto učiniti Transformacije podataka, na primjer, grupisanje, preimenovanje stupaca, spajanje, eliminiranje duplikata ili vrlo korisna operacija binning/diskretizacije. Osim toga, možete koristiti druge, zanimljivije transformacije, na primjer, filtere konačnih i beskonačnih ulaznih odgovora ( Konačan i beskonačan ulazni odgovor), koji se koriste u obradi signala. Oni se takođe mogu šire primeniti na podatke relevantne za privredu, koji se mogu posmatrati u obliku složenih talasa (npr. vremenske serije). To je dio posla određivanje sezonalnosti i često se povezuje sa potragom za frekvencijama sličnim muzičkim u ovim godišnjim dobima. Osim toga, ako tek počinjete sa svojim projektom i niste sasvim sigurni koje stupce podataka treba uključiti, automatski se odabiru filteri funkcije ( Odabir funkcija) može vam biti od koristi predstavljajući vam dobar izbor indikatora korelacije. U praksi, međutim, u kasnijim koracima ćete htjeti ručno specificirati skup stupaca radi maksimalne preciznosti.

Sada ćemo preći na ono što smo čekali: pravo mašinsko učenje – što znači inicijalizaciju (definisanje) modela, obuku ( Voz) model sa nekim podacima, verifikacija ( Evaluate) performanse i valjanost modela i, ako je sve u redu, ocjenu ( Rezultat) model (predviđanje na osnovu njega). Azure ML nudi mnogo algoritama za Klasifikacije zadatke, uključujući Multiclass I Dvoklasne šume odluke, džungle odluke(razvio Microsoft Research) Logistička regresija, neuronske mreže, i Dvoklasni prosječni perceptroni, Bayesova mašina za tačke, pojačana stabla odlučivanja I Podrška vektorskih mašina (SVM). Grupiranje koristi varijaciju standardnog K-Means pristupa. Regresije uključiti Bayesova linearna, pojačana stabla odlučivanja, šume odlučivanja, Svakako Linearna regresija, Regresija neuronske mreže, redni I Poissonova regresija. I to je samo u verziji 1.

Možete koristiti korisne Statistički funkcije u njihovim eksperimentima, uključujući uobičajene elementarne, kao što je izračunavanje odstupanja. Probajte sami, počnite jednostavno određivanjem zadatka Deskriptivna statistika vaše podatke i vizualizirajte ( Vizualizuj) rezultati (koristite tačke povezivanja na zadacima). Uživajte u elementima boxplots u rezultirajućim vizualizacijama – nešto što odavno nedostaje svim Microsoft BI alatima, čak i Excelu...

Jedan cool primjer Kako Azure ML donosi eksterno istraživanje u vaše eksperimente možete pronaći u odjeljku izazova Analitika teksta. Zadatak Prepoznavanje imenovanih entitetaće vam omogućiti da obradite uneseni tekst (tzv priče, na primjer, poštanske adrese, otkucani opisi situacija ili tweetovi) i iz njih izdvojiti imenovane pojmove, automatski ih klasificirajući kao Ljudi, mjesta ili Organizacije. Tu je i podrška za projekat Vowpal Wabbit, koji podržavaju Yahoo i Microsoft Research. Možete ga koristiti da dobijete hasheve za entitete na zahtjev. Očekujem da se pojavim u budućnosti više alate i mogućnosti u ovoj oblasti, jer je očigledno da Microsoft ima ogromnu količinu znanja pohranjenog unutar Binga.

Podrška za duboki R jezik

Povrh toga, Azure ML možete koristiti interno. Po mom mišljenju, Azure ML trenutno dolazi sa oko 410 paketa unapred instaliranih na vrhu R 3.1.0 (iznenađujuće, najnoviju verziju). Među paketima ima ggplot2(Da!), plyr I dplyr, auto, skupovi podataka, HMisc, MASS i svi ostali najčešće korišćeni paketi za rudarenje podataka. like rpart, nnet, survival, boot i tako dalje.

Ako želite da pronađete listu paketa koji su uključeni u Azure ML, onda jednostavno napravite mali eksperiment poput onog koji sam ovde pokazao, pokrenite neki R kod i sačuvajte rezultirajući CSV na svom računaru. Kolona 1 će prikazati sve uključene pakete.

Šta učiniti ako vaš omiljeni R paket (npr. ROCR ili nleqslv) nedostaje na listi? U stvari, dokumentacija može biti zbunjujuća. Kaže da trenutno ne postoji način da instalirate sopstvene pakete, ali dokumentacija opisuje rešenje koje vam pomaže da uključite sopstveni paket koristeći zip fajl. Na dnu ove veze možete pronaći opis ovog pristupa, koji pokazuje kako se primijeniti install.packages() dok koristite vezu do datoteke prenesene u zadatak Izvršite R skriptu.

Ključ za razumijevanje važnosti da R bude dio Azure ML-a, po mom mišljenju, nije samo to što platforma omogućava pristup de facto jeziku statistike i analitike (lingua-franca), već i koliko je brza i bezbolna u proces obrade vaših podataka. Ovo je posebno uočljivo s obzirom na činjenicu da sam R nije tako zgodan alat za manipulaciju podacima. Dakle, umjesto korištenja poštovani RODBC(omogućeno) unutar vaše R skripte, možda biste trebali razmisliti o korištenju Azure ML-a za sve vaše teške zadatke obrade podataka (izvinite, obožavatelji plyr) i prenesite podatke u R skriptu kao Azure ML skup podataka Tabela podataka, koji postaje dostupan kao izvorni R okvir podataka. Podaci će se magično pojaviti unutar vaše skripte kao objekat pod nazivom skup podataka. Možete dodati više izvora podataka.

Još nisam završio svoje testove performansi, ali sve što može poboljšati performanse obrade R-a na ovaj ili onaj način velike količine podaci se mogu samo toplo pozdraviti. Pored toga, ove karakteristike izgledaju kao očigledna prednost provajdera u oblaku u poređenju sa konvencionalnim rešenjima u kutiji. I mogu zamisliti da Microsoft koristi brojne trikove za poboljšanje performansi kada su skupovi podataka iz Azurea povezani s uslugom Azure ML, čak imajući na umu trenutno ograničenje od 10 GB.

Sa ili bez R-a, možete imati radni eksperiment koji možete koristiti kao radni gradivni blok unutar vaše web-bazirane aplikacije. Zamislite da ste upravo izgradili sistem preporuka. U terminima Azure ML, imate eksperiment koji koristi zadatak bodovanja. Vi definirate koji od ulaznih portova treba koristiti Objavi unos za vašu web uslugu i shodno tome što treba uzeti u obzir Objaviti izlaz. Oni će biti predstavljeni kao mali zeleni i plavi meci na obrisima problema. Ponovo izvodite eksperiment i koristite Studio ML da ga objavite kao Azure ML Web Service. Sada možete konzumirati rezultate putem Azure ML REST API kao jednostavan web servis ili OData krajnja tačka. Ovaj API nudi Request Response Service (RRS) za sinhroni pristup sa malim kašnjenjem za izvođenje predviđanja i asinhrono izvršenje Usluga batch Execution Service (BES) da ponovo obučite model sa, recimo, vašim budućim svežim podacima. Ovaj API nudi automatski generirani primjer koda koji možete jednostavno kopirati i zalijepiti za korištenje u Python, R ili C# aplikaciji, ili bilo gdje drugdje, jer je sve jednostavno bazirano na REST-u i JSON-u.

Postoji super mala stranica za testiranje koja će vam omogućiti da unesete potrebne vrijednosti za novu uslugu i napravite predviđanje testa.

Usluga također ima dodatne funkcije namijenjene praktičnoj upotrebi, na primjer, sprečavanje Microsofta da automatski ažurira bilo koju komponentu (zadatke, itd.) vašeg eksperimenta, čija bi promjena mogla promijeniti ili čak prekinuti vaš rad. Ispravno rješenje Microsoft je nešto s čime ne voli da se bavi bilo koji IT stručnjak koji podržava web sisteme. Možete testirati ažuriranja usluga u fazi postavljanja i konfigurirati sigurnost putem API pristupnog ključa.

Cijena

Koliko sve ovo košta? S obzirom na cijenu pretpregledne verzije, izgleda vrlo atraktivno. Postoje dvije vrste troškova, naknada za obračun po satu ( aktivno računanje po satu) i plaćanje za API pozive web servisa ( po-web-servis API poziv), obje vrste troškova su proporcionalne. Satnica je niža dok koristite ML Studio (0,38 USD/sat) i nešto viša u produkcijskoj upotrebi putem ML API usluge (0,75 USD/sat). Troškovi API poziva se ne računaju dok radite u ML Studiju i koštaju 0,18 USD za 1000 predviđanja tokom proizvodne upotrebe. Ako ništa drugo, ovo je zanimljiv i izuzetno jednostavan model cijena, za razliku od drugih koje je Microsoft koristio. Izuzetno sam zainteresovan da čujem šta moji klijenti programeri misle o sjajnoj prilici da efektivno preprodate Azure ML kao deo sopstvene veb aplikacije uz minimalan napor za podršku, bez potrebe da sami gradite ceo sistem.

Gdje početi?

Gdje početi? Posjetite azure.microsoft.com, pretplatite se i kreirajte radni prostor na Novo/Usluge podataka/Mašinsko učenje. Zatim idite na panel Dashboard i kliknite na link Prijavite se u ML Studio. Nakon pregleda zadataka koji će definirati eksperiment, potaknut ću vas da odaberete jedan od mnogih primjera, kreirate njegovu kopiju i pokrenete ga. Ako radi, slijedite gore navedene korake da biste ga objavili kao svoju prvu uslugu za predviđanje weba.

Naravno, pobrinite se da ne propustite naše nadolazeće video zapise i članke na ovu temu: postanite član stranice kako biste primali bilten s obiljem informacija. Ako želite brzo započeti, pogledajte našu obuku za rudarenje podataka, posebno module o pripremi podataka, jer su ovi koncepti posebno slučajevi, unos I izlazne koloneće svakako biti od koristi kada radite sa Azure ML.

Uživajte u učenju mašinskog učenja!


Mašinsko učenje je jedno od najpopularnijih područja računarstva, iako je u isto vrijeme jedno od najizbjeganijih među programerima. Glavni razlog za to je taj što teorijski dio mašinskog učenja zahtijeva duboku matematičku obuku, koju mnogi ljudi radije zaborave odmah nakon završetka univerzitetskih studija. Ali potrebno je razumjeti da pored toga teorijske osnove, tu je i praktična strana, za koju se ispostavilo da je mnogo lakše naučiti i koristiti na dnevnoj bazi. Cilj ovog rada je premostiti jaz između programera i naučnika podataka i pokazati da korištenje mašinskog učenja u vašim aplikacijama može biti prilično jednostavno. U članku je prikazan cijeli niz koraka potrebnih za izgradnju modela za predviđanje cijene automobila u zavisnosti od skupa njegovih karakteristika, a zatim ga koristiti u mobilnoj aplikaciji na Windows 10 Mobile.

Šta je Azure ML?

Ukratko, Azure Machine Learning je:

  • cloud rješenje koje omogućava izgradnju i korištenje složenih modela strojnog učenja u jednostavnom i vizualnom obliku;
  • ekosistem dizajniran za distribuciju i monetizaciju gotovih algoritama.
Više informacija o Azure ML-u možete pronaći dalje u ovom članku, kao i praćenjem veze

Zašto Azure ML?
Budući da je Azure Machine Learning jedan od najjednostavnijih alata za korištenje strojnog učenja, uklanjajući barijeru ulasku za svakoga ko odluči da ga koristi za svoje potrebe. Uz Azure ML više ne morate biti matematičar.

Logički proces izgradnje algoritma mašinskog učenja

  1. Određivanje cilja. Svi algoritmi mašinskog učenja su beskorisni bez eksplicitno definisane svrhe za provođenje eksperimenta. U ovom laboratorijski rad cilj je predvidjeti cijenu automobila na osnovu skupa karakteristika koje daje krajnji korisnik.
  2. Prikupljanje podataka. Tokom ove faze formira se uzorak podataka koji je neophodan za dalju obuku modela. U ovom slučaju će se koristiti podaci iz spremišta mašinskog učenja Univerziteta u Kaliforniji.
    archive.ics.uci.edu/ml/datasets/Automobile
  3. Priprema podataka. U ovoj fazi, podaci se pripremaju formiranjem karakteristika, uklanjanjem izuzetaka i podjelom uzorka na obuku i testiranje.
  4. Razvoj modela. U procesu razvoja modela bira se jedan ili više modela podataka i odgovarajućih algoritama učenja, koji bi, prema mišljenju programera, trebali dati traženi rezultat. Često se ovaj proces kombinuje sa paralelnim proučavanjem efikasnosti nekoliko modela i vizuelnom analizom podataka u cilju pronalaženja bilo kakvih obrazaca.
  5. Obuka modela. Tokom treninga, algoritam učenja traži skrivene obrasce u uzorku podataka kako bi pronašao način za predviđanje. Sam proces pretraživanja određen je odabranim modelom i algoritmom učenja.
  6. Evaluacija modela. Nakon što je model obučen, potrebno je ispitati njegove prediktivne karakteristike. Da bi se to postiglo, najčešće se izvodi na probnom uzorku i procjenjuje se rezultirajući nivo greške. Ovisno o tome i zahtjevima za tačnost, model se može ili prihvatiti kao konačni ili ponovo obučiti nakon dodavanja novih ulaznih karakteristika ili čak promjene algoritma učenja.
  7. Korištenje modela. Ako je obučeni model uspješno testiran, počinje faza njegove upotrebe. A to je slučaj kada Azure ML postaje nezamjenjiv, pružajući sve potrebne alate za objavljivanje, praćenje i monetizaciju algoritama

Izgradnja prediktivnog modela

Na stranici koja se otvori kliknite Započnite odmah.

Da biste koristili Azure ML, potrebna vam je aktivna Microsoft Azure pretplata. Ako ga već imate, jednostavno se prijavite na Azure portal za upravljanje, u suprotnom unaprijed registrirajte besplatni probni račun klikom na vezu.

Prije svega, morate učitati set za obuku. Da biste to učinili, slijedite vezu i preuzmite datoteku imports-85.data na svoj računar, koja sadrži izbor podataka o automobilima.
Da biste otpremili ovu datoteku u Azure ML Studio, kliknite na Novo na dnu stranice i na panelu koji se otvori odaberite Skup podataka i Iz lokalne datoteke. U meniju za preuzimanje odredite putanju do preuzete datoteke, ime i odaberite Generička CSV datoteka bez zaglavlja (.hn.csv) kao tip.

Kreiranje novog eksperimenta

Da kreirate novi eksperiment, odaberite Novo -> Eksperiment -> Prazan eksperiment. Ovo će stvoriti novi eksperimentalni radni prostor sa trakom sa alatkama na desnoj strani.

Definiranje uzorka podataka

Prethodno preuzeti podaci bi trebali biti prikazani u odjeljku Sačuvani skupovi podataka na lijevoj strani. Izaberite ga i prevucite bilo gde u radnom prostoru, na primer, tamo gde pokazuje strelica Prevucite stavke ovde.

Imajte na umu da izvor podataka ima tačku veze u obliku kruga koja se koristi za povezivanje s drugim komponentama.

Priprema podataka

Prilikom razvoja modela mašinskog učenja, dobra je praksa testirati preliminarni rezultati eksperimentirajte nakon svake promjene. Dakle, kliknite desnim tasterom miša na tačku veze i izaberite Visualize. Kao rezultat, pojavit će se prozor koji daje pregled podataka i njihovu distribuciju.

Kao što vidite, postoji problem u uzorku - nedostaju vrijednosti u drugoj koloni. Ovo može stvoriti neželjeni efekat tokom procesa obuke i značajno pogoršati kvalitet modela. Ali, na sreću, ove vrijednosti karakteriziraju troškove osiguranja i slabo su povezane s cijenom automobila, pa se stoga mogu ukloniti. Između ostalog, kolone nemaju nazive, što znatno otežava rad s njima.

Da biste riješili problem s imenima iz grupe Transformacija/Manipulacija podataka, prebacite se na radnu površinu uređivača metapodataka.

Prevucite izlaz (dno) uzorka podataka na ulaz (vrh) nove komponente da biste ih povezali. Sada kliknite na njega da otvorite prozor postavki na desnoj strani. Uređivač metapodataka vam omogućava da promijenite meta informacije jedne ili više kolona, ​​uključujući tip ili naziv. Otvorite čarobnjak za biranje kolona klikom na Pokreni birač kolona. Da biste odabrali sve kolone, odaberite Sve kolone u polju Počni s, izbrišite liniju za preciziranje odabira klikom na znak “-“ na desnoj strani i potvrdite klikom na kvačicu.

U polje Nova imena kolona na panelu postavki unesite nova imena kolona odvojena zarezima, koja se mogu naći u datoteci import-85.names na prethodno navedenom linku. Vrijednost polja bi trebala biti sljedeća:

simboliziranje, normalizirani gubici, marka, vrsta goriva, aspiracija, broj vrata, stil karoserije, pogonski kotači, lokacija motora, međuosovinsko rastojanje, dužina, širina, visina, masa praznog vozila, tip motora, broj cilindara, veličina motora, sistem goriva, provrt, hod, omjer kompresije, konjska snaga, vršni broj okretaja, grad-mpg, autoput-mpg, cijena

Da biste vidjeli rezultat rada komponente, kliknite na Run na dnu i vizualizirajte izlaz uređivača metapodataka na način opisan ranije.

Sada uklonimo normalizirane gubitke. Da biste to uradili, prevucite kolone projekta iz iste grupe u radni prostor, povežite ih sa uređivačem metapodataka i idite na njegove postavke. Ponovo odaberite birač redova i ovaj put odaberite sve redove osim normaliziranih gubitaka, čineći postavke slične onima prikazanim na donjoj slici.

Pokrenite eksperiment i vizualizirajte rezultat kako biste potvrdili da drugi stupac nedostaje u uzorku.

Nažalost, još uvijek postoje kolone kojima nedostaju vrijednosti. Ali nema ih mnogo, pa se možete ograničiti samo na odbacivanje nepotpunih linija. Da biste to učinili, odaberite alat za čišćenje nedostajuće vrijednosti i povežite ga s kolonama projekta. U polju Za vrijednosti koje nedostaju, promijenite vrijednost u Ukloni cijeli red. Pokrenite ga, renderirajte i uvjerite se da su redovi s praznim vrijednostima nestali.

Postoji još jedno pitanje na koje treba odgovoriti u fazi pripreme: da li sve karakteristike utiču na cijenu automobila? U ovoj fazi možemo se ograničiti na sljedeći mali broj indikatora, čija je lista data u nastavku. U budućnosti uvijek možete dodati nove i testirati hipotezu o njihovoj dovoljnosti upoređujući tačnost rezultirajućih modela.

marka, stil karoserije, međuosovinsko rastojanje, veličina motora, konjska snaga, maksimalni broj obrtaja, autoput-mpg, broj cilindara, cijena

Dodajte nove kolone projekta i odaberite gornje stupce.

Konačno, osigurajte da je vaša priprema podataka uspješna pokretanjem eksperimenta i vizualizacijom rezultata.

Raspad uzorka

Podaci su sada spremni za korištenje u procesu obuke. Ali u mašinskom učenju, moguć je efekat koji se zove „pretreniranost” – model uči podatke bez generalizacije. Ovakvo ponašanje dovodi do nemogućnosti adekvatnog predviđanja na različitim podacima. Da bi se riješila ova situacija, uobičajeno je da se uzorak podijeli na trening i testiranje u omjeru blizu 3:1. Posljednji od njih ni na koji način ne učestvuje u procesu učenja i po završetku se koristi za procjenu greške predviđanja. Ako se ova greška značajno razlikuje od greške na skupu za obuku, tada se opaža gore opisani efekat.

Da biste kreirali probni uzorak, povucite komponentu Split Data iz grupe Transformacija podataka/Uzorak i Split na radni prostor eksperimenta i povežite je s posljednjim stupcima projekta. Postavite dio reda prvog izlaza na 0,75 i provjerite je li postavljena zastavica Randomize Split.

Obuka modela linearna regresija

Prvo prevucite komponente Linearna regresija, Model vlaka, Score Model i Evaluate Model sa trake sa alatkama. Model vlaka je univerzalna komponenta koja omogućava obuku bilo kog modela na bilo kojem setu za obuku. Za postavljanje našeg specifičnog slučaja, povežite prvi (lijevi) izlaz Split Data i izlaz linearne regresije na odgovarajuće ulaze modela vlaka. U postavkama modela vlaka navedite cijenu kao ciljnu vrijednost (kolona ishoda). Model je sada spreman za obuku.

Ali, pored samog treninga, važno je znati i rezultat treninga. Komponenta Score Model vam omogućava da izračunate izlaz obučenog modela na slučajnom uzorku i izračunate rezultat predviđanja. Povežite izlaz modela vlaka, koji sadrži obučeni model, s odgovarajućim ulazom modela bodovanja i unesite testni uzorak iz drugog izlaza podijeljenih podataka kao uzorak podataka na drugi ulaz. Povežite izlaz modela bodovanja sa bilo kojim od ulaza modela evaluacije kako biste izračunali numeričke karakteristike kvaliteta obuke. Rezultat bi trebao biti proces sličan onom prikazanom na slici.

Pokrenite model i vizualizirajte izlaz Evaluate Model.

Koeficijent determinacije pokazuje koliko dobro linija regresije opisuje originalne podatke. Vrijednosti koje prihvata kreću se od 0 do 1, gdje jedan odgovara apsolutnoj preciznosti. U našem slučaju koeficijent je 82%. Da li je ovo dobar rezultat ili ne zavisi direktno od formulacije problema i određene tolerancije greške. Za slučaj predviđanja cijene automobila, 82% je odličan rezultat. Ako ga želite poboljšati, pokušajte dodati druge stupce u Project Columns ili isprobajte potpuno drugačiji algoritam. Na primjer, Poissonova regresija. Ovo posljednje se može postići jednostavnom zamjenom komponente linearne regresije Poissonovom. Ali zanimljiviji pristup je sastavljanje paralelnog treninga od elemenata i povezivanje rezultata sa drugim izlazom Evaluate Modela, koji će vam omogućiti da uporedite rezultate obuke oba modela u prikladnom obliku.

Pokrenite model i vizualizirajte rezultat. Kao što se može vidjeti iz rezultata, podaci su mnogo bolje opisani modelom linearne regresije, te stoga postoje svi razlozi da se on odabere kao konačni model.

Kliknite desnim tasterom miša na komponentu modela vlaka koja odgovara linearnoj regresiji i odaberite Spremi kao obučeni model. Ovo će vam omogućiti da koristite rezultirajući model u bilo kojim drugim eksperimentima bez potrebe za ponovnom obukom.

Objavljivanje web servisa

Da biste objavili uslugu, odaberite komponentu modela vlaka koja odgovara linearnoj regresiji i kliknite Postavi web uslugu. U meniju koji se otvori odaberite Predictive Web Service i pričekajte dok Azure ML kreira novi eksperiment optimiziran za potrebe usluge. Izbrišite automatski kreirane komponente Web Service Input i Web Service Output - kreiraćemo ih kasnije nakon male pripreme.

U ovom trenutku, element Score Model ponavlja sve ulazne kolone u svom izlazu i daje predviđenoj vrijednosti naziv Score Labels. Ovo treba popraviti.

Da biste to učinili, premjestite dvije već poznate komponente sa trake s alatima na radnu površinu: kolone projekta i uređivač metapodataka. I povežite ih redoslijedom prikazanim na donjoj slici. U postavkama kolone projekta izaberite samo jednu kolonu, Oznake rezultata, i pomoću uređivača metapodataka preimenujte je u cijenu.

Konačno, morate dodati ulaz i izlaz usluge koja se kreira. Da biste to učinili, eksperimentu dodajte unos web usluge i izlaz web usluge. Povežite prvi na ulaz modela Score, a drugi na izlaz uređivača metapodataka. U postavkama oba elementa promijenite naziv u "unos" i "predviđanje".

Ponovo pokrenite model tako što ćete kliknuti na Pokreni, a nakon što je validacija završena, objavite uslugu klikom na Deploy Web Service.

Testiranje servisa

Nakon što kliknete na Deploy Web Service, bit ćete preusmjereni na stranicu s informacijama o novokreiranoj usluzi. Veze pod API STRANICOM POMOĆI sadrže dovoljno Detaljan opis sa informacijama o sadržaju dolaznih i odlaznih JSON paketa, kao i primjer koda za konzolnu aplikaciju koja daje ideju kako je koristiti.

Za interaktivno testiranje kliknite na Test i u prozoru koji se otvori unesite vrijednosti za svaki ulazni parametar. Na primjer, one ispod i kliknite na potvrdni okvir da pošaljete zahtjev za testiranje.

audi sedan 99.8 četiri 109 102 5500 30 13950

Razvoj aplikacija

U zaključku, pogledajmo proces razvoja mobilne aplikacije koristeći Azure ML kao back-end uslugu. Prvo kreirajte novi projekat univerzalna Windows aplikacija. Da biste to uradili, kada je Visual Studio 2015 otvoren, izaberite Datoteka -> Novo -> Projekat... U prozoru koji se otvori idite na karticu Windows u levom meniju i izaberite Prazna aplikacija (Univerzalni Windows). U polje za naslov unesite AzureMLDemo i kliknite na OK. Po potrebi gotovi projekat se može naći na GitHubu.

Nakon određenih priprema, Visual Studio će otvoriti novi projekat Universal App. Uverite se da je polje arhitekture procesora desno od Debug postavljeno na x86, a desno izaberite jednu od mobilnih virtuelnih mašina kao okruženje za pokretanje. Na primjer, Mobile Emulator 10.0.10240.0 720p 5 inča 1GB.

Sada možete preći na pisanje same aplikacije. U meniju Solution Explorer, dvaput kliknite da biste otvorili MainPage.xaml. Opisivanje GUI XAML markup jezika je izvan okvira ovog rada, stoga jednostavno zamijenite oznaku za otvaranje i zatvaranje na kod ispod.