dsci 101 Leistungsnachweis¶
Der LN besteht darin, sich ein persönliches Skript zu erarbeiten, das man ggf. mit in die Klausur nehmen könnte. (Ob das sinnvoll und möglich ist, muss ich noch ausloten).
Dazu werden im Lauf des Semesters verschiedene Aufgaben zu bearbeiten sein, die alle im persönlichen Skript zu dokumentieren sind.
Ihr Skript in der jeweils aktuellen Version laden Sie in Moodle hoch:
WS 21/22 dsci 101 > Leistungsnachweis > ln-s-xxxxxx
Ich empfehle Ihnen, das Skript sukzessiv zu erstellen und zu verbessern. Die Moodle-Aufgabe ist daher so eingestellt, dass Sie Ihr Skript beliebig oft neu und verbessert hochladen können.
Letzter Termin der Abgabe (und Voraussetzung zur Zulasusng zur Klausur): Mo 2022-01-10 T 23:59.
LN anlegen¶
Das Archiv dsci-101-ln.tar.gz irgendwohin - z.B. nach ~/b
- downloaden, dort mit tar -xvzf dsci-101-ln.tar.gz
auspacken.
Im neu enstandenen Verzeichnis ~/b/dsci-101-ln
die config-Datei _config.yml
personalisieren:
Titel: Ihr HAW-Account
z.B. s-jbusse
Name: Familienname, Vorname, MatNr
z.B. Busse, Johannes, 123 45 67
Alle Ergebnisse des LN stehen in einer einzigen md-Datei, und zwar in ln-<ihr-Account>
:
Die existierende Datei
ln-s-jbusse
aufln-<ihr-Account>
umbenennen, und …auch in
_toc.yml
anpassen!
Zuerst Build der html-Dateien ausprobieren:
jb build ~/b/dsci-101-ln
Überraschung, FEHLER: Es kommt eine Website “Hallo Johannes”, die mit Ihrer Datei nichts zu tun hat. Lösung: Buildverzeichnis zurücksetzen:
jb clean ~/b/dsci-101-ln
Jetzt sollte der Build durchlaufen.
pdf über LaTeX erzeugen:
jb build ~/b/dsci-101-ln --builder pdflatex
Ggf. noch LaTeX nachinstallieren, siehe http://jbusse.de/dsci-lab/dsci-lab-build.html#latex.
Struktur des LN: siehe Datei ln-s-jbusse.md
Aufgabe 1: dsci-Jobs¶
Technology-Stack Markdown, Jupyterbook, Zotero:
Was: Definition erstellen für Data Analyst, Data Architect, Data Engineer, sowie eine beliebige weitere Rolle
Ergebnissicherung: DEF in den LN, sowie ‘rüberkopieren in Moodle
Einige Jobs zu diesen Rollen …
online recherchieren
mit Zotero sichern
die Zitation als Bsp. zu der jeweiligen Def in Markdown hinzufügen
Aufgabe 2¶
Im dsci-lab (oder anderswo) ein neues ipynb-Notebook
dsci-101-ln-excercise101.ipynb
anlegen, Überschrift “Exercise 1.01”aus der Exercise 1.01 (p.13ff) die Items 1-13 mit Copy & Paste einfügen und ausführen.
das neu angelegte ipynb in den toc aufnehmen, builden
Seite aufrufen: Man kann jetzt im Inhaltsverzeichnis die neue Seite “Exercise 1.01” anklicken, richtig?
Screenshot machen und in unser Verzeichnis speichern; in der Notebook-Datei als Bild einfügen:

Lernziele:
Flüssiger werden mit Linux, Publishing mit jupyterbook
Einbindung von auführbaren Notebooks in ein jupyterbook
Einbinden eines Bildes in eine Markdown-Datei
Aufgabe 3: Glossar anlegen zu dsw2020, Kapitel 1, S. 2-16¶
“dsw2020”: The Data Science Workshop. A New, Interactive Approach to Learning Data Science. Anthony So, Thomas V. Joseph, Robert Thas John, Andrew Worsley, and Dr. Samuel Asare. First Edition 2020. (Online in der HAW-Bibliothek)
Dort Kapitel 1: Introduction to Data Science in Python, S. 2-16
In der Datei ln-s-ihraccount.md
ein Glossar anlegen (wenige Stichworte reichen, aber bitte eigene Worte, DE) zu folgenden Begriffen:
data science project steps (7 items)
supervised learning
outcome (response variable, dependent variable, target)
column
variable
feature
independent variable (predictor variable)
classification problem
regression problem
unsupervised learning
clustering
dimensionality reduction
reinforcement learning
numeric variable
text variables
Achtung: Hier sind ein paar Synonyme dabei.
erweitern durch Begriffe aus Exercise 1.01 (S. 13ff):
algorithm
linear regression
logistic regression
randomforest
a3c
learning
supervised
reinforcement
algorithm_type
regression
classification
regression or classification
game ai
k-means
clustering
Aufgabe 4: Mini-Doku zu Pandas DataFrame¶
Was: Die wichtigsten Funktionen im LN dokumentieren:
eigene Erklärung
mit Link auf die offizielle Doku
mit Beispiel-Code
Warum, Lernziele:
sich mit der Doku vertraut machen
sich einen eigenen Wissensbestand anlegen für viele aufbauende Kurse
Vorbereitung für die Klausur
| pd.read_excel(file_url) | df.shape | df.columns | df.dtypes | df.info() | df.head() | df.tail() | df.sample() | df[‘Country’].nunique() | df[‘Country’].unique() | df[‘Country’].value_counts() | df.select_dtypes() | df[‘Quantity’].max() | df[‘Quantity’].min() | df[‘Quantity’].mean() | df[‘Quantity’].median() | df[‘Quantity’].std() | df.describe()
Aufgabe 5: Einen Datensatz bereinigen¶
Gegeben sei aus der Demo http://jbusse.de/2021_ws_dsci/dsci-101-statur.html die CSV-Datei Moodle > statur_2021-11-11.csv:
downloaden
dann als Pandas DataFrame
df = pd. ...
einlesen
dann df
umwandeln:
in Listen (Column-Namen gehen verloren):
df_list_zeilen: jede Zeile eine Liste
df_list_spalten: jede Spalte eine Liste
in Dicionaries:
df_dict_spalten: ein dict spaltenweise, column names als Schlüssel
df_dict_zeilen: zeilenweise ein dict (Column-Namen gehen verloren), mit künstlichem Schlüssel für jede Zeile
Wer googelt, findet als Einstieg z.B. https://datatofish.com/convert-pandas-dataframe-to-list/, vor allem aber der Parameter orient
in pandas.DataFrame.to_dict: rtfm!
Aufgabe:
Obige Schritte durchführen mit
statur_2021-11-11.csv
für jeden nichttrivialen Schritt die entsprechende Original-Doku zitieren, für Pandas z.B.