Skip to content

ingljo/machine-learning-workshop

Repository files navigation

Machine Learning Workshop

Introduksjon

I denne workshopen skal vi "hands-on" i bruk av Azure Machine Learning Studio og bruke reell data for å bygge en machine learning modell.

Om oss

Kontakt oss gjerne på Slack

Læringsmål

Målene for denne workshopen er å kunne:

  1. Lære hvordan Azure Machine Learning Studio fungerer.
  2. Importere og manipulere data som input til ML modell.
  3. Ta bevisste valg av algoritmer for bruk til å bygge en ML modell.
  4. Kunne trene og bygge en ML modell ved bruk av importert data.
  5. Å kunne bruke den bygde ML modellen i kode / webservice kall.

Demo

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.

Link til demo.

Workshop tema - Kan vi spå faren for snøskred?

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?

Data

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.

Beskrivelse av kolonnene

  • 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.

Hva ønsker vi å finne ut?

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.

Steg for steg

1. Opprett nytt Machine Learning Workspace

  • 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.

2. Opprett nytt eksperiment

  • Velg New nederst til venstre, velg Experiment -> Blank Experiment.

3. Last opp data

  • 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.

5. Velg algoritme som skal brukes for å trene modellen

6 Evaluer modellen

  • 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.

7. Lag en Webservice for å kunne kalle modellen

  • 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.

About

Machine Learning Workshop

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published