Commit 18b449a8 authored by Carsten Eie Frigaard's avatar Carsten Eie Frigaard
Browse files

update

parent 102f1acf
COURSE COURSE
LESSON L0X LESSON L00
\h4{Forberedelse inden kursusstart}
\h5{Formål} \h5{Formål}
Opsamlingslektion <>: vi tager et genblik på \em{§ 2 "End-to-End Machine Learning \p{Gruppe tilmelding: tilmeld dig til en ITMAL gruppe (se Blackboard link
Project"}, og samler op på dette brede kapitel. ovenfor).}
\p{Installation: de obligatoriske værktøjer til ITMAL inden kursusstart (dvs.
L01).}
\p{Forberedelse til L01: Hent GIT repositories til litteraturen [GITHOML], prøv at
kører et par Jupyter Notebooks [JPYNB], og læs mere om pythons NumPy
bibliotek.}
Vi går først igang med at gennemgå \bf{K-fold Cross-validation} (eller K-fold CV), \p{Ekstra materiale til forberedelse: optionelle python opgaver, hvis du vil sætte
for derefter at bruge "The Map" til at komme igennem alle grundliggende dig mere ind i sproget.}
koncepter i § 2.
\h5{Installation}
\ul{
\li{Installer Anaconda på din PC:}
\ul{
\li{\link{www.anaconda.com/products/individual,https://www.anaconda.com/products/individual}}
\li{vælg 'Download' (downloader direkte for Windows),}
\li{eller vælg Linux eller Mac, 32 eller 64 bit (dit valg),}
\li{nværende nyeste Anaconda3 version er \bf{2021.05}}
}
\ul{
\li{ALTERNATIV 1:}
\ul{
\li{brug vores ASE GPU Cluster som jupyter hub server,}
\li{se info in Kursusinfo | GPU Cluster.}
}
\li{ALTERNATIV 2:}
\ul{
\li{Lav en konto på Google's Colaboratory,}
\li{\link{colab.research.google.co, https://colab.research.google.com}}
}
}
\li{Test at du kan køre jupyter notebooks [JYPYNB] fra [GITHOML], prøv f.eks.:}
\ul{
\li{index.ipynb}
}
}
Da alle kerne-koncepter i supervised ML nu kendes, kan det hele konkret \h5{Forberedelse til Lektion 01}
sammensættes i en samlet processerings-pipeline. Programmerings-teknisk ser vi
derfor til sidst på Scikit-learns Pipelines.
\ul{ \ul{
\li{\link{Oversigtskortet< for Supervised learning:,https://ing.dk}} \li{Læs kursusinfo via Blackboard-linket ovenfor.
\li{næste item} \li{Få fat i litteratur til kurset.
\li{Clone [GITHOML] til din egen PC, se how-to under kursusinfo | kursusforkortelser.
\li{Skim disse tutorials igennem:}
\ul{
\li{§ Scientific Python tutorials: NumPy}
\li{tools_numpy.ipynb [GITHOML]}
} }
\p{Læs blot, hvad du finder relevant så som 'iteration', men spring blot over
emner, der er for komplekse eller for 'pythoniske', så som 'Stacking arrays' og
'QR decomposition'. Note vdr. kildekritik og 'informations-overload'}
\p{Vi vil i dette kurset tit kunne blive overvældet af for meget ekstern
information (informations-overload), så du skal danne dig en metode til at
kunne selektere og navigere i materialet.}
\p{Vi vil primært holde os til [HOML], [GITHOML] og Scikit-learn, med en note
om, at nettet flyder over med ekstra (til tider ubrugelig/ufiltreret)
information: en kildekritiks holdning er vigtig! Ekstra materiale til
forberedelse}
Hvis du har brug for at opfriske dit lineær algebra matematik eller er helt ny
til python, så kan du f.eks. læse/skimme følgende notebooks, i prioriteret
rækkefølge:
[OPTIONAL] Python og vectors/matrices math: math_linear_algebra.ipynb [GITHOML]
[OPTIONAL] Python og grafisk plotting: tools_matplotlib.ipynb [GITHOML]
[OPTIONAL] Ekstra, Python og dataværktøjet 'Pandas' : tools_pandas.ipynb [GITHOML]
[OPTIONAL] Ekstra, mest for de matematik intereserede: math_differential_calculus.ipynb [GITHOML]
\p{Pandas er et meget populært databehandlingsværktøj, men vi kommer ikke til at
bruge Pandas i dette kursus.}
LESSON L01 LESSON L01
\h1{Introduktion} \h1{Introduktion}
...@@ -29,10 +93,10 @@ Denne lektion har til formål at give indledende information om kurset. Dvs. ...@@ -29,10 +93,10 @@ Denne lektion har til formål at give indledende information om kurset. Dvs.
at vi præsentere de formelle rammer vdr. at vi præsentere de formelle rammer vdr.
\ul{ \ul{
\li{ITMAL gruppetilmelding,} \li{ITMAL gruppetilmelding,}
\li{opgavesæt og journalafleveringer,} \li{opgavesæt og journalafleveringer,}
\li{eksamensform,} \li{eksamensform,}
\li{Blackboard opbygning og fildeling.} \li{Blackboard opbygning og fildeling.}
} }
\p{Herefter vil vi præsentere machine learning [ML] som koncept overordnet, og \p{Herefter vil vi præsentere machine learning [ML] som koncept overordnet, og
...@@ -56,30 +120,30 @@ lektioner..} ...@@ -56,30 +120,30 @@ lektioner..}
\h2{Indhold} \h2{Indhold}
\ul{ \ul{
\li{Formelle rammer vdr. kurset.} \li{Formelle rammer vdr. kurset.}
\li{Eksamensform, godkendelsesfag via:} \li{Eksamensform, godkendelsesfag via:}
\ul{ \ul{
\li{et sæt obligatoriske skriftlige gruppe-journaler med afleveringsdeadlines,} \li{et sæt obligatoriske skriftlige gruppe-journaler med afleveringsdeadlines,}
\li{en poster-session, med aflevering af poster og mundtlig præsentation af poster,} \li{en poster-session, med aflevering af poster og mundtlig præsentation af poster,}
\li{en mundtlig gennemgang af den sidste journal med alle medlemmer i ITMAL gruppen, samt evaluering af hver gruppemedlems bidrag.} \li{en mundtlig gennemgang af den sidste journal med alle medlemmer i ITMAL gruppen, samt evaluering af hver gruppemedlems bidrag.}
\li{=> Endelig godkendelse af kurset sker på en samlet vurdering af de tre punkter ovenfor.} \li{=> Endelig godkendelse af kurset sker på en samlet vurdering af de tre punkter ovenfor.}
} }
\li{Læringsmål.} \li{Læringsmål.}
\li{Litteratur.} \li{Litteratur.}
\li{Intro til software, der bruges i ITMAL:} \li{Intro til software, der bruges i ITMAL:}
\ul{ \ul{
\li{python generelt (link til mini python intro: demo.ipynb Click for more options)} \li{python generelt (link til mini python intro: demo.ipynb Click for more options)}
\li{anaconda python distribution:} \li{anaconda python distribution:}
\ul{ \ul{
\li{jupyter notebooks,} \li{jupyter notebooks,}
\li{spyder developer environment.} \li{spyder developer environment.}
} }
\li{Scikit-learn,} \li{Scikit-learn,}
\li{opgave med python modul og klasser.} \li{opgave med python modul og klasser.}
} }
\li{Intro til machine learning:} \li{Intro til machine learning:}
\ul{ \ul{
\li{Supervised learning (regression): 'life-satisfactory' [HOML].} \li{Supervised learning (regression): 'life-satisfactory' [HOML].}
} }
} }
......
...@@ -291,17 +291,18 @@ if __name__ == '__main__': ...@@ -291,17 +291,18 @@ if __name__ == '__main__':
assert f==HtmlEncode(f) assert f==HtmlEncode(f)
verbose = 0 verbose = 0
coursefile = "course.txt" coursefile = "course.tex"
parser = ArgumentParser(prog=argv[0], epilog="version 0.1") parser = ArgumentParser(prog=argv[0], epilog="version 0.2")
parser.add_argument("-v", default=verbose, action="count", help= "increase output verbosity, default={verbose}\n") parser.add_argument("-v", default=verbose, action="count", help= "increase output verbosity, default={verbose}\n")
parser.add_argument("-t", default=False, action="store_true", help=f"generate simple html (witouth <html> <body> etc tags), default=False\n") parser.add_argument("-t", default=False, action="store_true", help=f"generate simple html (witouth <html> <body> etc tags), default=False\n")
parser.add_argument("-p", default=coursefile, type=str, help=f"coursefile, default='{coursefile}'\n") parser.add_argument("-o", default="", type=str, help=f"outputfilt, default=''\n")
parser.add_argument("-o", default="", type=str, help=f"outputfilt, default=''\n") parser.add_argument("-c", default=coursefile, type=str, help="cause file to be parsed, default='{coursefile}'\n")
args = parser.parse_args() args = parser.parse_args()
verbose = isInt(args.v) verbose = isInt(args.v)
coursefile = args.p coursefile = isStr(args.c)
Dbg(verbose, f"{Col('PURPLE')}GENERATING course file '{coursefile}'..{ColEnd()}") Dbg(verbose, f"{Col('PURPLE')}GENERATING course file '{coursefile}'..{ColEnd()}")
htmlencoded = [HtmlEncode(i) for i in LoadText(coursefile)] htmlencoded = [HtmlEncode(i) for i in LoadText(coursefile)]
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment