Themen und Termine#

Semester-Strukturierung, hier für das WS 2023.

Der Unterricht ist DIGITAL. Zoom siehe Moodle-Kurs.

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:

Die Praxis des Kurses wird abgedeckt durch die Notebooks und Übungen aus http://jbusse.de/dsci-ml/d_kaggle-learn.html

Python rekapitulieren:

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:

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#

Einführung in Bowles und die Bowles-Datensätze:

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:

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”:

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:

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: