Themen und Termine#

KW 40 Übungsbeginn mit dem Python Crashkurs#

KW 41: Einführung#

  • Das Data Science Lab https://www.jbusse.de/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.

Reflexion in Bezug auf Python:

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 42: Fortsetzung KW 41#

Voraussetzung: das dsci-lab ist installiert (oder Alternativen sind gefunden), die virtuelle Maschine startet

KW 43#

Kaggle-Modul: KL > Intermediate Machine Learning

KW 44#

offen

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#

KW 47#

  • Kaggle-Modul: KL > Pandas

  • Einführung in den Datensatz “Schuhgröße”

KW 48#

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#

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: