FY555: Introduktion til Python, maskinlæring og datahåndtering for de fysiske videnskaber
Indgangskrav
Faglige forudsætninger
Studerende der følger kurset, forventes på forhånd at have grundlæggende kendskab til calculus og lineære transformationer/lineær algebra. Det anbefales at deltagere har tidligere kendskab til programmering i fx matlab og/eller med c++.
NB: Kurset lægger væsentlig vægt på fysik i opgaver og eksempler, men kan også følges af studerende der ikke læser fysik.
Formål
Kurset har til formål at give den studerende grundlæggende færdigheder indenfor
- Videnskabelig programmering med Python med vægt på fysikorienterede problemstillinger
- Maskinlæring
- Håndtering af forskellige typer af data
Kurset bygger oven på den viden, der er erhvervet i kurser i programmering og matematik tidligere på uddannelsen, og giver et fagligt grundlag for at arbejde med datahåndtering og maskinlæringsmetoder i projekter senere på uddannelsen.
I forhold til uddannelsens kompetenceprofil har kurset eksplicit fokus på at:
- Vurdere teoretiske og praktiske problemstillinger indenfor især (astro-)fysik (via data) og anvende relevante analysemetoder
- Strukturere komplekse problemstillinger selvstændigt
- Tilegne sig ny viden effektivt og selvstændigt inkl. indentificering af egne læringsbehov og at strukturere sin egen læring
- Indgå i fagligt og tværfagligt samarbejde på baggrund af erfaringer med grupperelateret opgaveløsning
Målbeskrivelse
Målbeskrivelse - viden
Ved afslutning af kurset forventes det at den studerende kan
- Redegøre for basal brug af Python-bibliotekerne NumPy, SciPy og Matplotlib
- Redegøre for brugen af Python-biblioteket scikit-learn
- Redegøre for håndtering af forskellige datatyper med Python
- Redegøre for datareduktionsmetoder, fx PCA
- Redegøre for grundlæggende ideer bag kunstige neuroner og neurale netværk
Målbeskrivelse - færdigheder
Ved afslutningen af kurset forventes det at den studerende kan
- Skrive og køre simple programmer baseret på python
- Bruge standard pythonbiblioteker som NumPy, SciPy og Matplotlib
- Bruge scikit-learn til at håndtere og analysere data
Målbeskrivelse - kompetencer
Ved afslutningen af kurset forventes det at den studerende kan skrive et Python program til håndtering, analyse og visualisering af en given datamængde.
Indhold
Kurset indeholder følgende faglige hovedområder:
- Grundlæggende, praktisk introduktion til Python som programmeringssprog
- Introduktion til NumPy, SciPy og Matplotlib med udgangspunkt i bl.a. en N-body simulering
- Introduktion til det teoretiske grundlag for maskinlæring, inkl. kunstige neuroner og neutrale netværk
- Introduktion til scikit-learn som maskinlærings-værktøj og værktøj til datahåndtering
- Udvikling og implementering af algoritmer til håndtering, analyse og visualisering af data, med udgangsunkt i overvejende fysik-relateret data
Litteratur
Eksamensbestemmelser
Eksamenselement a)
Tidsmæssig placering
Udprøvninger
Mundtlig prøve med udgangspunkt i obligatoriske afleveringer
EKA
Censur
Bedømmelse
Identifikation
Sprog
Varighed
Hjælpemidler
ECTS-point
Uddybende information
Vejledende antal undervisningstimer
Undervisningsform
- Introfase: 16 timer (1 time om ugen) (forelæsning)
- Træningsfase: 32 timer (2 timer om ugen), hvor der løses opgaver med mulighed for vejledning
Aktiviteter i studiefasen:
- Løsning af ugentlige opgaver med henblik på at udvikle kompetencerne til at løse de obligatoriske opgaver
- Løsning af obligatoriske opgaver
Ansvarlig underviser
Skemaoplysninger
Administrationsenhed
Team hos Uddannelsesjura & Registratur
Udbudssteder
Anbefalede studieforløb
Overgangsordninger
Se overgangsordninger for alle kurser på Det Naturvidenskabelige Fakultet.