Themen und Termine
Contents
Themen und Termine#
Semester-Strukturierung, hier für das WS 2023.
Der Unterricht ist DIGITAL. Zoom siehe Moodle-Kurs.
siehe auch dsci-Mindmap: http://jbusse.de/dsci-101/d_dsci-mindmap-ws2022.html
KW 40: Vorbesprechung#
ACHTUNG, Termin außerhalb des Vorlesungsplans: Do 2023-10-05, 16:10 Uhr, ZOOM
Themen der Vorbesprechung:
Arbeitsweise im Kurs
oberflächliche Übersicht über diese Website
Technik http://jbusse.de/dsci-lab/: Nutzung empfohlen, Alternativen sind auch erlaubt ;-)
KORREKTUR 2023-10-10: Die OVA dsci-lab_22.04.3_ws2023.ova enthält ein Update (auf Jupyter Notebook 7), das leider nicht kompatibel mit unseren Lehrmaterialien ist.
Bitte verwenden Sie statt dessen die neue-alte OVA dsci-lab_22.04_ws22.ova, siehe http://jbusse.de/dsci-lab/t_download.html#ova-file-ws-2023-formerly-ws-2022
Bitte unbedingt sofort auf den neuesten Stand bringen!:
sudo apt update; sudo apt upgrade; sudo apt autoremove
Die Theorie des Kurses wird im wesentlichen abgedeckt mit:
Michael Bowles: Machine Learning in Python: Essential Techniques for Predictive Analysis. Wiley 2015. Online in der HAW LA: https://flatp20.bib-bvb.de/search?bvnr=BV043397686
Die Praxis des Kurses wird abgedeckt durch die Notebooks und Übungen aus http://jbusse.de/dsci-ml/d_kaggle-learn.html
Python rekapitulieren:
sachsystematisch: http://jbusse.de/jvdp-jb/
Fingerübungen: http://jbusse.de/jvdp-jb/f.html
Nachbereitung heute:
Das dsci-lab in den nächsten 2 Tagen downloaden und installieren, und bei Problemen sofort nachfragen – oder eine entsprechende Alternative (Conda, Miniconda, Anaconda, Online etc.) realisieren.
ab sofort Python rekapitulieren, die Fingerübungen machen
KW 41#
Mo 2023-10-09:
Unterricht verlegt auf Di wegen Berufungskommission
statt dessen Probevorlesungen zur Professur Data Science: Studierende sind herzlich als Zuhörer und Test-Studierenden eingeladen!
Sondertermin Di 2023-10-10, 12:50 Uhr, PRÄSENZ, Raum XXX:
KW 42: Python#
Voraussetzung: das dsci-lab ist installiert (oder Alternativen sind gefunden), die virtuelle Maschine startet
Gemeinsame Arbeitsweise ausprobieren: Wir erarbeiten uns in Einzel- oder Kleingruppenarbeit die Inhalte des aktuellen Kaggle-Moduls, nämlich KL > Intro to Machine Learning
Schritt 1, Input: Das Kaggle-Modul durcharbeiten
Schritt 2, Rekapitulation: Anhand der Zusammenfassung Zusammenfassung: intro to ml ein eigenes Notebook erstellen.
KW 43#
Spezielle Kümmerung um die TN, die sich derzeit nochmal in Python einarbeiten:
Wo stehen Sie individuell?
Übersicht über die Lernmaterialien aus dem Kurs python-101, nämlich http://jbusse.de/jvdp-jb/
detaillierte Besprechung von http://jbusse.de/jvdp-jb/e_r1b.html
Für Teilnehmer, die in Python schon fit sind, dürfte der Termin eher langweilig sein.
KW 44#
Kaggle-Modul: KL > Intermediate Machine Learning
KW 45#
Kaggle-Modul: KL > Data Visualization
Einführung in Bowles und die Bowles-Datensätze:
Bowles, Michael: Machine learning in Python. Essential Techniques for Predictive Analysis. Wiley 2015. Bibliothek der HAW LA: https://flatp20.bib-bvb.de/search?bvnr=BV043397686
Ort der Dateien siehe Bowles Notebooks
Gruppenarbeit, erste Runde, Auftrag: Im Yopad als Markdown-Datei einen Steckbrief erstellen, danach im Plenum Vorstellung der Ergebnisse auf Basis der öffentlichen Etherpads:
Wo in Bowles (Kapitel, Seiten, Notebooks etc.) schreibt Bowles etwas zu dem Datensatz?
recherchieren (z.B. googeln): Wo kommt der Datensatz her, wo ist er schon beschrieben?
Welche Art von ML-Problem haben wir?
Inhaltsangabe für hypothetischeS Notebook:
Schritte, um mit Regression / logistischer Regression ein Modell zu erstellen und zu testen?
Welches Feature Engineering ist hilfreich?
KW 46#
Diskussion ML Fairness
KW 47#
Kaggle-Modul: KL > Pandas
Einführung in den Datensatz “Schuhgröße”
KW 48#
Kaggle-Modul: KL > Feature Engineering
Rückblick auf WS 2022:
dsci-mindmap: http://jbusse.de/dsci-101/d_dsci-mindmap-ws2022.html
empfohlene Ergebnissicherung: zu den einzelnen Schritten in der dsci-Mindmap die entsprechenden Quellen in den Kaggle-Modulen suchen, und sich einen Plan erarbeiten, wie man die Regression und die Klassifikation bearbeiten könnte.
KW 49#
SONDERTERMIN Di 2023-12-05:
Di 10:30-11:45 Uhr (ZOOM): RA Thorsten Siefart berichtet zum EU AI Act
Aufgabe der Studienarbeit: Klassifikation für den Glas-Datensatz
bei Bowles z.B.
Bowles_5.5_glass: Multiclass Classification: Classifying Crime Scene Glass Samples
Listing 5-7: Multiclass Classification with Penalized Linear Regression - Classifying Crime Scene Glass Samples—glassENetRegCV.py
Doku auf scikit-learn: https://scikit-learn.org/stable/supervised_learning.html , dort:
BUJ: Für uns als Klassifikatoren vor allem interessant, weil anschlussfähig an Bowles 2015:
https://scikit-learn.org/stable/modules/multiclass.html:
Inherently multiclass:
linear_model.LogisticRegression (setting multi_class=”multinomial”)
linear_model.LogisticRegressionCV (setting multi_class=”multinomial”)
linear_model.RidgeClassifier
linear_model.RidgeClassifierCV
Multiclass as One-Vs-The-Rest:
linear_model.LogisticRegression (setting multi_class=”ovr”)
linear_model.LogisticRegressionCV (setting multi_class=”ovr”)
linear_model.SGDClassifier
Support multilabel:
linear_model.RidgeClassifier
linear_model.RidgeClassifierCV
KW 50#
Logistic Regression im Detail
Logistic Regression gibt es “pur”:
API: https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html
Read more in the User Guide: https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression
und als “Komplettpaket” incl. Cross Validation:
Parameter von sklearn.linear_model.LogisticRegression
multi class schemes:
one-vs-rest (OvR)
cross-entropy loss
Problemtypen:
binär
multinominal: (one of) k classes
true multinomial (multiclass)
one-vs-rest: binary classifiers are trained for all classes
multilabel: (some of) k classes
solvers:
lbfgs: approximates the Broyden–Fletcher–Goldfarb–Shanno algorithm
sag
saga
newton-cg
liblinear : https://www.csie.ntu.edu.tw/~cjlin/liblinear/
newton-cholesky
regularization, penalty:
L1 Abstand Manhattan, Betrag des Abstands
L2 Euklidische Norm
Elastic-Net: L1 und L2-Regularisierung gleichzeitig, mit variablem Parameter … bestens beschreben bei BOWLES
fit_intercept: sind die daten zenriert?
Datensatz anschauen: Verhältnis von Zeilen zu Spalten?
n_samples >> n_features, oder andersrum?
Stratified K-Folds:
L1, Lasso:
Beispiel- Kaggle-Notebook: