I denne workshopen skal vi "hands-on" i bruk av Azure Machine Learning Studio og bruke reell data for å bygge en machine learning modell.
- Ingvar Ljosland, [email protected]
- Markus Skallist, [email protected]
- Kristian Ekle, [email protected]
- Stian Kvaale, [email protected]
Kontakt oss gjerne på Slack
Målene for denne workshopen er å kunne:
- Lære hvordan Azure Machine Learning Studio fungerer.
- Importere og manipulere data som input til ML modell.
- Ta bevisste valg av algoritmer for bruk til å bygge en ML modell.
- Kunne trene og bygge en ML modell ved bruk av importert data.
- Å kunne bruke den bygde ML modellen i kode / webservice kall.
For å få en liten introduksjon til Azure ML Studio, gjennomfører vi en liten demo, slik at vi går gjennom stegene for å bygge en modell i ML Studio.
NVE samler inn data daglig over snøforhold og hvilke snøskred som har gått i området. Dette bruker de blant annet observatører til. I tillegg bruker de data fra Metrologisk institutt for vær for å kunne spå hvor stor snøskredfare det er de ulike varslingsregionene. Du kan til en hver tid se hva faren for snøskred er på http://www.varsom.no/snoskredvarsling/.
For å få til varselet må noen på NVE manuelt se på hvilke observasjoner som er gjort i området kombinert med hvilket vær det har vært i området den siste tiden.
Er det mulig for oss å kunne spå det samme varselet automatisk ved hjelp av maskinlæring?
NVE legger ut sine data lisensiert under Norsk lisens for offentlige data NLOD og vi har fått sammenstilt data fra sesongen 2016 til bruk i denne workshopen.
Her kan du laste ned sammenstilt data for 2016-sesongen til bruk i denne workshopen.
- Date - Dato for innsamlet data
- RegionId - Varslingsregion
- DangerLevel - Varslet faregrad
- ApsTemperature - Gjennomsnittstemperatur siste døgn
- ApsTemperatureMin - Minimumstemperatur siste døgn
- ApsTemperatureMax - Makstemperatur siste døgn
- ApsPercipitation - Nedbør siste døgn
- ApsPercipitationMostExposedArea - Nedbør mest utsatt område siste døgn
- ApsFreezingElevationsTemperature - Grense for frysetemperatur (moh)
- FcObserved - Faceted Crystals – Kantkornet snø
- DhObserved - Depth Hoar – Begerkrystaller
- ShObserved - Surface Hoar – Overflaterim
- NewSnowSlabProblem - Våt nysnø
- NewSnowLooseProblem - Løs nysnø
- WindSlabProblem - Fokksnø
- PersistentWeakLayerProblem - Vedvarende svake lag
- WetSlabProblem - Slush
- WetLooseProblem - Våt løssnø
- GlideSnowProblemProblem - Glidende lag
I tillegg har vi også aggregert opp en del verdier for gjenomsnitt eller antall tilfeller de siste 2, 7, 14 og 30 dagene.
Det vi ønsker å kunne spå er utfallet av kolonne nr. 3 "DangerLevel", som er spådd faregrad. Faregraden er en verdi mellom 1 til 5 hvor 1 er lav og 5 er ekstremt høy fare for snøskred (forekommer svært sjeldent).
Link til beskrivelse av faregrad.
- Logg på Azure Portal med din Azure-konto.
- Klikk New -> Søk etter Machine Learning Workspace -> Create.
- Skriv inn Worspace name, velg ny resource group, og velg DevTest service plan.
- Vent til tjenesten har blitt opprettet og velg så Overview -> Additional Links -> Launch Machine Learning Studio.
- Velg New nederst til venstre, velg Experiment -> Blank Experiment.
- Velg Datasets -> Trykk + NEW Nederst til høyre.
- Last opp NVE datasett
4. Split data i hva som skal brukes til trening og hva som skal brukes til evaluering i etterkant av modellen
- Vi ønsker å bruke en del av dataen til å trene modellen og en del av dataen til å evaluere i etterkant.
- Dra inn modulen Split Data. Koble til datasettet.
- Velg antall % som skal inn til splittet Dataset1 og Dataset2 og velg Randomized Split.
- Dra inn modulene Train Model og Score Model.
- Lag kobling mellom Dataset1 fra Split Data til Train Model og fra Dataset2 i Split Data til Score Model.
- Lag en kobling mellom output fra Train Model til Score Model.
- I Train Model velg DangerLevel som kolonne.
- For å velge algoritme bruker vi Machine Learning Algorithm Cheat Sheet
- Du kan prøve ulike algoritmer og tune parametere for å se hva som gir best resultat.
- For å kunne si hvor god modellen vår er må vi evaluere resultatet.
- Dra inn modulen Evaluate Model og koble til Score Model modulen.
- Lagre og kjør modellen.
- Høyreklikk på Evaluate Model og velg Evaluation Results -> Visualize.
- Når du er fornøyd med modellen, kan du deploye den som en webservice
- Velg Set Up Webservice -> Predictive Web Service. Vi får nå et nytt Predictive Experiment opprettet.
- Velg Deploy Webservice og test den ved å bruke Request/Response test-page.