Python er hurtigt ved at blive det mest populære og anvendte sprog i verdenen til bl.a. data science og maskinelæring (se bare stats fra tiobe index og red monk). Det er relativt hurtigt og har et kæmpe økosystem (100.000+) pakker, som gør os i stand til at lave stort set alt med sproget. Nærværende github repository, beskriver et kursus/forløb i Python og data science. Vi forudsætter, at du allerede har et vist kendskab til programmering, som du får i eksempelvis i forløbet om "Introduktion til programmering i P5.js". Forløbet starter med en brushup til python og hvordan det adskiller sig fra eksempelvis javascript. Det er en forudsætning for at kunne arbejde med videregående emner som maskinelæring, data science og AI.
God arbejdslyst.
Mvh. Henrik Sterner og Peter Sterner
Vi bruger uddrag af følgende to gratis og opensource bøger af af Jake Vanderplas:
- (PY) A Whirlwind Tour of Python.
- (DS) Python Data Science Handbook.
- Øvelser
- [Noter] (https://github.com/HenrikSterner/PythonForDataScience/tree/master/noter)
Bøgerne er gratis, og rummer en række kapitler i jupyter-formatet, som gør det muligt at kombinere tekst og kode. Derudover vil der være uddrag fra andre bøger og internet ressourcer.
Kurset benytter følgende software (python er inkl. i Anaconda ligesom numpy, scikit, matplotlib, streamlit etc.)
- [Anaconda] (https://www.anaconda.com/products/individual)
- [Jupyter-plugin til Visual Studio Code] (https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter). Kan bare hentes under plugin i vscode.
- [pyp5js] (https://berinhard.github.io/pyp5js/)
Herunder en tentativ plan for undervisningen, der opdateres undervejs. Øvelser refererer til numre i øvelsesdokumentet exercises.ipynb. Lav øvelserne i den rækkefølge som de står. Lav så mange som overhovedet muligt. Den eneste måde at blive god til faget er ved at øve sig regelmæssigt og så meget som overhovedet muligt. Træning gør mester! Gå ikke videre før du har styr på det fundamentale.
| Modul Nr | Kapitel | Indhold | Øvelser |
|---|---|---|---|
| 1 | PY: 1,2,3 | Intro til python og jupyter | Installere og afprøve software |
| 2 | PY: 4 og 5 | Variabler og operatorer | 1-6 |
| 3 | PY: 6 og 7 | Indbyggede typer og datastrukturer | 7-14 |
| 4 | PY: 8 og 11 | Løkker og betinget udførsel | 21-27 |
| 5 | PY: 9 | Funktioner | 33 |
| 6 | Øvelse | WebApps og GUIs | 41,42 |
| 7 | PY: 10 | Undtagelser | 32 |
| 8 | PY: 11-12 | Operationer på lister | 34, 35, 28 |
| 9 | PY: 14 | Moduler og pakker | 37 |
| 10 | PY: 15 | Strenge og regulære udtryk | 36, 29, 30 |
| 11 | Noter | Objektorienteret programmering og principperne bag | 38, 39, 40 |
| 12 | PY: 16 | Indledende data science | |
| 13 | DS: 2, PY: 16 | Introduktion til numpy (og scipy) | |
| 14 | DS: 4 | Introduktion til matplotlib | |
| 15 | DS: 5 | Introduktion til maskinelæring | |
| 16 | DS: 5 | Supervised læring: Lineær/logistisk regression, kNN, SVM (og beslutningstræer) | |
| 17 | DS: 5 | Unsupervised læring: kMeans, neurale netværk | |
| 18 | DS: 5 | Reinforceret læring |