Posts getaggt mit Python
Python Crashkurs

Der 1-tägige Python Crashkurs richtet sich an Teilnehmer, die Grundkenntnisse in Python erlernen oder auffrischen möchten. Der Fokus im Python Crashkurs liegt auf der technischen Einführung, das Erlernen der grundlegenden Python-Syntax, sowie der Umgang mit Daten und der Datenanalyse in Python. Alle vorgestellten Themen werden mit Hilfe von Übungen der Teilnehmer unter intensiver Anleitung ausführlich erläutert, demonstriert und geübt.

Der Kurs behandelt folgende Themen:

Einführung in die Grundlagen von Python

  • Installation und Nutzung von Python und nützlicher Python Module.

  • Erläuterung der wichtigsten Datentypen, Operatoren, Funktionen und Hilfeseiten.

  • Einführung in NumPy und Pandas.

  • Import und Export von Daten.

  • Arbeiten mit DataFrames und Vektoren (numeric, logical, character, factors), z.B. das Indizieren, Aufteilen und Umwandeln von Variablen bzw. Datensätzen.

  • Berechnen von statistischen Kennzahlen (z.B.: Mittelwert, Quantile, Varianz, etc.).

Folgende Python-Pakete werden behandelt:

  • Numpy

  • Pandas

Voraussetzungen:

keine

Weiterlesen
Python Basiskurs

Der 1-tägige Python Crashkurs richtet sich an Teilnehmer, die Grundkenntnisse in Python erlernen oder auffrischen möchten. Der Fokus im Python Crashkurs liegt auf der technischen Einführung, das Erlernen der grundlegenden Python-Syntax, sowie der Umgang mit Daten und der Datenanalyse in Python. Alle vorgestellten Themen werden mit Hilfe von Übungen der Teilnehmer unter intensiver Anleitung ausführlich erläutert, demonstriert und geübt.

Der Kurs behandelt folgende Themen:

Einführung in die Grundlagen von Python

  • Installation und Nutzung von Python und nützlicher Python Module.

  • Erläuterung der wichtigsten Datentypen, Operatoren, Funktionen und Hilfeseiten.

  • Einführung in NumPy und Pandas.

  • Import und Export von Daten.

  • Arbeiten mit DataFrames und Vektoren (numeric, logical, character, factors), z.B. das Indizieren, Aufteilen und Umwandeln von Variablen bzw. Datensätzen.

  • Berechnen von statistischen Kennzahlen (z.B.: Mittelwert, Quantile, Varianz, etc.).

Folgende Python-Pakete werden behandelt:

  • Numpy

  • Pandas

Voraussetzungen:

keine

Weiterlesen
Data Wrangling in Python

Die Datenaufbereitung und das Zusammenführen verschiedener Datenquellen machen rund 80% der Arbeitszeit eines Data Scientists aus. Zudem ist eine adäquate Datenaufbereitung essentiell für die darauf folgende Modellierung und die Ableitung von Handlungsempfehlungen.

In diesem praxisorientierten Kurs werden Fähigkeiten und Techniken für eine effektive und effiziente Datenaufbereitung vermittelt. Der Fokus liegt hierbei auf der Verwendung von Pandas - dem de facto Standard für die Datenaufbereitung in Python. Behandelte Themen und Beispiele spiegeln tatsächliche Aufgabenstellungen aus dem Alltag eines Data Scientists wider. Zudem werden “Best Practices” vermittelt, u.a., das Schreiben von einfachen, gut lesbaren und modular erweiterbaren Code, der für die Arbeit in Teams unabdingbar ist. Alle Themen werden anhand von Übungen unter Anleitung demonstriert und vertieft.

Der Kurs behandelt folgende Themen:

  • Je nach Bedarf Wiederholung von Python Grundlagen: built-in structures, numpy, IPython, jupyter notebook, package management, jupytext

  • Series und DataFrames: Generierung, Bedeutung des Zeilenindex, Filtern, Zeiger vs. Kopie

  • Import und Export von Daten aus Textdateien und (unstrukturierten) Excel Tabellen, sowie der Zugriff auf Datenbanken mittels Python

  • Datenbereinigung: Behandlung von fehlenden Werten, Bearbeitung von Zeichenketten, Entfernen von Duplikaten

  • Transformieren von Daten durch vektorisierte Operationen wie map oder apply

  • Zusammenfügen verschiedener Datenquelle und das Erzeugen einer “guten” Tabellenstruktur der Daten

  • Gruppieren von Daten und Aggregationen: Split-Apply-Combine

  • Zeitreihen und Datum-Zeit Objekte

  • Pandas mit eigenem Code erweitern

Voraussetzungen:

Grundkenntnisse in Python (Im Umfang des 1-tägigen Python Crashkurses).

Weiterlesen
Natural Language Processing in Python

In den letzten fünf bis sechs Jahren gelangen der Forschung einige bahnbrechende Entwicklungen im Bereich des Text Mining und des Natural Language Processing (NLP). Diese Durchbrüche sind im Wesentlichen auf drei Faktoren zurückzuführen:

  • Konzeptuell neue Frameworks aus dem Bereich des Deep Learning

  • Deutliche Verbesserungen der computationalen Ressourcen,

  • (Deutlich) Größere verfügbare Datenmengen (Big Data)

Wir werden in diesem Kurs bei den Grundlagen der Textverarbeitung in Python beginnen und klassische Feature Engineering Ansätze aus dem Bereich des Machine Learning kennenlernen. Anschließen werden wir uns ausführlich mit der Methodik beschäftigen, die als Beginn einer neuen Ära im NLP betrachtet werden kann: den sogenannten Word Embeddings oder Wortvektoren.

Wir werden ferner die Integration dieser Word Embeddings in moderne Deep Learning Modelle diskutieren, insbesondere tiefe rekurrente neuronale Netze (RNNs). Da der sog. “Attention”-Mechanismus und Transfer Learning die Grundlage der aktuellsten state-of-the-art-Modelle wie z.B. BERT bilden, werden wir diese beiden Themen im abschließenden Teil des Kurses ausführlich behandeln.

Der Kurs behandelt folgende Themen:

  • Tag 1: Im ersten Teil wird zunächst anhand von einigen Beispielen die Wichtigkeit von NLP verdeutlicht. Danach wird es eine Einführung zum Umgang mit Textdaten und deren potentielle Repräsentationen im Machine Learning geben. Im Anschluss werden sog. Fully-Connected-Neural-Networks (FCNNs) als wichtige Grundlage für den weiteren Kurs eingeführt.

  • Tag 2: Am zweiten Tag beschäftigen wir uns ausschließlich mit sog. neuronalen Repräsentationen von Texten. Begonnen wird mit der Idee des Language Modelling anhand des Neural probabilistic language models (Bengio et al, 2003). Anschließend wird das Word2Vec Framework (Mikolov et al., 2013), das Doc2Vec-Framework (Mikolov and Le, 2014), sowie das FastText-Framework (Bojanowski et al, 2017) vorgestellt. Jedes dieser Frameworks wird mit Hands-On Sessions zur praktischen Umsetzung des Erlernten begleitet.

  • Tag 3: Am abschließenden Kurstag beschäftigen wir uns mit Deep Learning und aktuellen state-of-the-art-Architekturen. Wir werden uns ausführlich die vorhandenen Transfer-Learning-Ressourcen ansehen und in einer abschließenden Hands-On Session das Gelernte anwenden.

Hands-On Sessions: Für die praktischen Teile des Kurses werden Übungsaufgaben in Form von Jupyter-Notebooks bereitgestellt, mit denen die Teilnehmer die Übungen selbst bearbeiten können.

Voraussetzungen:

  • Grundlegende Python Kenntnisse

  • Grundkenntnisse in überwachten Lernverfahren

Weiterlesen
Deep Learning in Python

Neuronale Netze als Methode des maschinellen Lernens haben in den letzten 10 Jahren wieder massiv an Bedeutung gewonnen. Dies liegt insbesondere an einer nun besser möglichen Optimierung von tiefen und neuartigen Netzwerkarchitekturen, die zu massiven Durchbrüchen in der Verarbeitung von Bild-, Sprach- und Textdaten geführt haben.

Der Kurs behandelt folgende Themen:

Eine Einführung in die Theorie und praktische Anwendung von tiefen Neuronalen Netzen, wobei sowohl auf die historische Entwicklung, als auch auf den State-of-the-Art der Methodik eingegangen wird.

Zusätzlich wird den Teilnehmern ein Einblick in das theoretische Fundament neuronaler Netze vermittelt. Es werden Vor- und Nachteile sowie die wichtigsten Anwendungssituationen diskutiert. In den Übungen passen Teilnehmer in einfachen Anwendungen selbst Neuronale Netze an, um Klassifikations- und Regressionprobleme zu lösen. Ziel des Kurses ist es Intuition und Anwendung von neuronalen Netzen, in verschiedensten Use-Cases zu vermitteln. Außerdem werden generelle Netzwerkarchitekturen sowie Regularisierung und Optimierung dieser Netze besprochen.

Weitere behandelte Themen sind:

  • Fully Connected Neural Networks

  • Convolutional Neural Networks

  • Recurrent Neural Networks

  • Adversarial Examples

  • Autoencoder

Als Software wird im wesentlichen Keras mit TensorFlow-Backend verwendet.

Benötigte Vorkenntnisse:

  • Grundkenntnisse in Machine Learning

  • Kenntnisse in Python (Im Umfang des. 1-tägigen Python Crashkurses)

Weiterlesen