Skip to content

fullstack-ml-academy/full-stack-machine-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Full-Stack Machine Learning

Intro

Dieses Repository enthält das Begleitmaterial für den Full Stack Machine Learning Kurs (Digethic Data Scientist / AI-Engineer).

Alle Notebooks unter /notepads sind strukturiert und können über die Ordnernummer und den Notebook-Code identifiziert werden. Alle Notebooks entsprechen den Folien und Videos, die für diesen Kurs erstellt wurden.

image

Z.B. dieser Bezeichner verweist auf Ordner 2 und das Notebook mit dem Code EDA.

Setup

Linux- und Mac-Benutzer

  • Führen Sie das Setup-Skript aus: ./setup.sh oder sh setup.sh

Windows-Benutzer

  • Führen Sie das Setup-Skript aus: .\setup.ps1
  • Wenn das Ausführen des Skripts aufgrund von Zugriffsrechten nicht funktioniert, versuchen Sie folgenden Befehl in Ihrem Terminal: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Entwicklung (Development)

  • Mac/Linux: Aktivieren der Python-Umgebung: source .venv/bin/activate
  • Windows: Aktivieren der Python-Umgebung: .venv\Scripts\Activate.bat
  • Python-Skript ausführen: python <dateiname.py>, z.B. python train.py
  • Neue Abhängigkeit installieren: pip install sklearn
  • Aktuell installierte Abhängigkeiten zurück in requirements.txt speichern: pip freeze > requirements.txt
  • Um Jupyter Lab zu starten, führen Sie aus: jupyter lab --ip=127.0.0.1 --port=8888

Zusätzliche Kursressourcen 🌍

Diese Liste enthält ergänzende Materialien wie Bücher, Artikel, Online-Kurse und Videos, um Ihr Verständnis für Data Science- und KI-Themen zu vertiefen.


Allgemeine Übersichten zu Data Science & Machine Learning 📚

  • Bücher:

    • "Python for Data Analysis" von Wes McKinney: Ein praktischer Leitfaden zur Datenmanipulation mit Pandas. Unverzichtbar für Python-basierte Data Science. (Deutscher Titel "Datenanalyse mit Python": Link zum Kauf)
    • "Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow" von Aurélien Géron: Ein umfassendes und sehr beliebtes Buch, das eine breite Palette von ML-Konzepten und Implementierungen abdeckt. (Deutscher Titel "Praxiseinstieg Machine Learning mit Scikit-Learn, Keras & TensorFlow" Link zum Kauf)
    • "An Introduction to Statistical Learning (with Applications in R or Python)" von Gareth James, Daniela Witten, Trevor Hastie und Robert Tibshirani: Bietet einen klaren und zugänglichen Überblick über statistische Lernmethoden. Die Python-Version ist besonders relevant. (Kostenloses PDF online verfügbar unter www.statlearning.com)
    • "The Elements of Statistical Learning" von Trevor Hastie, Robert Tibshirani und Jerome Friedman: Ein fortgeschritteneres und umfassenderes Werk, oft als eine Bibel des maschinellen Lernens betrachtet. (Kostenloses PDF online verfügbar unter hastie.su.domains/ElemStatLearn/)
    • "Pattern Recognition and Machine Learning" von Christopher M. Bishop: Ein klassisches, eher theoretisches Lehrbuch zum maschinellen Lernen. Link zum Kauf
  • Websites & Blogs:

    • Towards Data Science: Eine Medium-Publikation mit einer riesigen Sammlung von Artikeln zu Data Science, ML und KI.
    • KDnuggets: Eine führende Seite zu KI, Analytik, Big Data, Data Mining, Data Science und Machine Learning.
    • Distill.pub: Veröffentlicht klare, interaktive Artikel, die Konzepte des maschinellen Lernens erklären.
    • Google AI Blog: Updates und Einblicke aus der KI-Forschung von Google.
    • OpenAI Blog: Forschung und Ankündigungen von OpenAI.
    • Machine Learning Mastery: Artikel und Tutorials zu allen möglichen Machine Learning Themen.

Python für Data Science 🐍


Statistische Grundlagen & EDA (Explorative Datenanalyse) 📊

  • Bücher:
    • "Think Stats: Exploratory Data Analysis in Python" von Allen B. Downey (Kostenlos online verfügbar unter allendowney.github.io/ThinkStats/).
    • "Practical Statistics for Data Scientists" von Peter Bruce, Andrew Bruce & Peter Gedeck. (Deutscher Titel: "Statistik für Data Scientists" Link zum Kauf)
  • Online-Kurse:
  • Artikel:
    • "Descriptive and Inferential Statistics" auf Towards Data Science Link
  • Videos:
    • 3Blue1Brown Youtube-Kanal: youtube.com/@3blue1brown - Statistische und mathematische Grundlagen gut erklärt und visualisiert.

Datenvorverarbeitung (Data Preprocessing) 🛠️

  • Artikel & Dokumentation:
    • Scikit-learn-Dokumentation zu Preprocessing data.
    • Artikel über Feature Scaling, Kodierung kategorialer Daten, Umgang mit fehlenden Werten (z.B. auf KDnuggets, Towards Data Science).
  • Videos:
    • StatQuest with Josh Starmer (YouTube): Hat ausgezeichnete, leicht verständliche Videos zu verschiedenen statistischen und ML-Konzepten, einschließlich derer, die für die Vorverarbeitung relevant sind. Der Video Index auf statquest.org ist sehr hilfreich.

Kernalgorithmen des Maschinellen Lernens 🧠

k-Nächste-Nachbarn (kNN)

  • Videos:
    • StatQuest: "k-nearest neighbors (kNN) clearly explained" Link
  • Artikel:
    • "An Introduction to K-Nearest Neighbours Algorithm" auf Towards Data Science. Link

Lineare & Polynomiale Regression

  • Bücher:
    • Kapitel in "An Introduction to Statistical Learning."
  • Videos:
    • StatQuest: "Linear Regression, Clearly Explained" Link
    • Khan Academy Videos zur linearen Regression.

Logistische Regression

  • Videos:
    • StatQuest: "Logistic Regression" (Playlist)
  • Artikel:
    • "Logistic Regression - Explained" auf Towards Data Science. Link

Entscheidungsbäume & Ensemble-Methoden (Random Forest, AdaBoost)

  • Bücher:
    • Kapitel in "Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow." (Deutscher Titel: "Praxiseinstieg Machine Learning mit Scikit-Learn, Keras & TensorFlow" Link zum Kauf)
  • Videos:
    • StatQuest: Decision Trees (z.B. Playlist), Random Forests, AdaBoost, Gradient Boost (XGBoost) - alle haben eigene Videos.
  • Artikel:
    • "Random Forest, Explained: A Visual Guide with Code Examples" auf Towards Data Science: Link
    • "A Gentle Introduction to AdaBoost" auf Machine Learning Plus: Link

Support Vector Machines (SVM)

  • Videos:
  • Artikel:
    • "Support Vector Machine (SVM) Explained" auf Towards Data Science: Link

Naive Bayes

  • Videos:
    • StatQuest: "Naive Bayes, Clearly Explained" Link
  • Artikel:
    • "Naive Bayes Classifier Explained" auf Towards Data Science: Link

Modellbewertung & -verbesserung ⚙️✨

  • Dokumentation & Artikel:

  • Videos:

    • StatQuest: "ROC and AUC, Clearly Explained" Link
    • Videos zu Kreuzvalidierung und Hyperparameter-Tuning (z.B. von Sentdex oder Krish Naik auf YouTube).

Modellinterpretation (SHAP)

  • Bücher/Paper:
    • Das ursprüngliche SHAP-Paper: "A Unified Approach to Interpreting Model Predictions" von Lundberg und Lee Link.
  • Dokumentation & Artikel:
    • SHAP GitHub Repository und Dokumentation: github.com/slundberg/shap
    • "Using SHAP Values to Explain How Your Machine Learning Model Works" auf Towards Data Science Link
    • "SHapley Additive exPlanations or SHAP : What is it ?" auf DataScientest: Link.

Deep Learning 💡

  • Bücher:
    • "Deep Learning" von Ian Goodfellow, Yoshua Bengio und Aaron Courville (Das "Deep Learning Buch" - kostenlos online unter www.deeplearningbook.org).
    • "Deep Learning with Python" von François Chollet (Entwickler von Keras). (Deutscher Titel: "Deep Learning mit Python und Keras" Link zum Kauf)
  • Videos:

PyTorch

Convolutional Neural Networks (CNN)

  • Artikel:
    • "A Comprehensive Guide to Convolutional Neural Networks" auf Towards Data Science PDF Link.
    • Stanford CS231n: Convolutional Neural Networks for Visual Recognition (Kurs-Website 2017 mit Notizen): cs231n.stanford.edu/2017/
  • Videos:
    • Viele Videos auf YouTube, die CNN-Architekturen erklären (z.B. LeNet, AlexNet, VGG, ResNet).

Representation Learning (Autoencoder, PCA, t-SNE)

  • Artikel:
    • "Autoencoders and the Denoising Feature" auf Towards Data Science: Link.
    • "Principal Component Analysis (PCA) Explained" auf Towards Data Science: Link (Hauptkomponentenanalyse auf Deutsch).
    • "How to Use t-SNE Effectively" auf Distill.pub: Link
  • Videos:
    • StatQuest: "Principal Component Analysis (PCA), Step-by-Step" Link
    • StatQuest: "t-SNE, Clearly Explained" Link

Quellen für Datensätze 💾

Zusätzlich zu den im Kurs bereitgestellten Datensätzen gibt es viele öffentliche Quellen für Datensätze, die für Projekte und zum Üben verwendet werden können:


Tool- und Software-Empfehlungen 🛠️💻

Hier ist eine Liste empfohlener Tools und Software, die im Bereich Full-Stack Machine Learning häufig verwendet werden und für Ihre Lernreise nützlich sein können:

Programmiersprachen & Kernbibliotheken

  • Python: Die dominierende Sprache im Bereich Machine Learning und Data Science. (python.org)
    • NumPy: Für numerische Berechnungen, insbesondere Array-Operationen. (numpy.org)
    • Pandas: Für Datenmanipulation und -analyse (Stichwort: DataFrames). (pandas.pydata.org)
    • Scikit-learn: Umfassende Bibliothek für klassisches Machine Learning. (scikit-learn.org)
    • Statsmodels: Für statistische Modellierung, Tests und Datenexploration. (www.statsmodels.org)
  • R: Eine weitere beliebte Sprache für statistische Analysen und Datenvisualisierung. (www.r-project.org)
  • SQL: Essentiell für die Arbeit mit relationalen Datenbanken und Datenabfragen. (Standard-Sprache, Infos z.B. via Wikipedia)

Deep Learning Frameworks

  • TensorFlow (mit Keras): Ein umfangreiches Open-Source-Framework für Machine Learning und insbesondere Deep Learning. Keras dient als benutzerfreundliche High-Level-API. (www.tensorflow.org, Keras: keras.io)
  • PyTorch: Ein populäres Open-Source-Framework für Deep Learning, bekannt für seine Flexibilität und Python-freundliche Natur. (pytorch.org)

IDEs (Integrierte Entwicklungsumgebungen) und Code-Editoren

  • Visual Studio Code (VS Code): Ein sehr beliebter, kostenloser und erweiterbarer Code-Editor mit exzellenter Python- und Jupyter-Unterstützung. (code.visualstudio.com)
  • JupyterLab / Jupyter Notebook: Interaktive, webbasierte Umgebungen, ideal für explorative Datenanalyse, Visualisierungen und das Teilen von Code. (jupyter.org)
  • PyCharm: Eine leistungsstarke IDE speziell für Python, mit einer kostenlosen Community-Version und einer kostenpflichtigen Professional-Version. (www.jetbrains.com/pycharm/)
  • Google Colaboratory (Colab): Kostenlose Jupyter-Notebook-Umgebung, die in der Cloud läuft und Zugriff auf GPUs/TPUs bietet. (colab.research.google.com)

Versionskontrolle

  • Git: Das Standard-System für verteilte Versionskontrolle. (git-scm.com)
  • GitHub: Web-basierte Plattform für das Hosting von Git-Repositories. (github.com)
  • GitLab: Web-basierte Plattform für das Hosting von Git-Repositories mit Fokus auf den gesamten DevOps-Lebenszyklus. (about.gitlab.com)
  • Bitbucket: Web-basierte Plattform für das Hosting von Git-Repositories von Atlassian. (bitbucket.org)

Datenvisualisierung

  • Matplotlib: Eine grundlegende Bibliothek zur Erstellung statischer, animierter und interaktiver Visualisierungen in Python. (matplotlib.org)
  • Seaborn: Baut auf Matplotlib auf und bietet eine High-Level-Schnittstelle für ansprechendere und informativere statistische Grafiken. (seaborn.pydata.org)
  • Plotly / Dash: Für interaktive Web-basierte Visualisierungen und Dashboards. Dash ist ein Framework zum Erstellen von Analyseanwendungen mit Python. (Plotly: plotly.com/python/, Dash: plotly.com/dash/)
  • Tableau: Führendes Business-Intelligence-Tool für fortgeschrittene Datenvisualisierung und Dashboarding. (www.tableau.com)
  • Microsoft Power BI: Business-Intelligence-Tool von Microsoft. (powerbi.microsoft.com)

MLOps und Deployment

  • Docker: Zum Erstellen, Verteilen und Ausführen von Anwendungen in Containern. (www.docker.com)
  • Kubernetes (K8s): Ein System zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen. (kubernetes.io)
  • MLflow: Eine Open-Source-Plattform zur Verwaltung des gesamten Machine-Learning-Lebenszyklus. (mlflow.org)
  • DVC (Data Version Control): Ein Tool zur Versionskontrolle von Daten und Machine-Learning-Modellen. (dvc.org)
  • FastAPI: Python-Webframework zum Erstellen von APIs. (fastapi.tiangolo.com)
  • Flask: Ein leichtgewichtiges Python-Webframework. (flask.palletsprojects.com)
  • BentoML: Ein Framework zum Erstellen produktionsreifer KI-Anwendungen. (www.bentoml.com)

Cloud-Plattformen

Viele Cloud-Anbieter bieten umfassende Suiten für Data Science, Machine Learning und MLOps:

Datenbanktechnologien

Diese Liste ist nicht abschließend, aber sie deckt viele der wichtigsten Werkzeuge ab, denen Sie in der Praxis begegnen werden. Die Auswahl der richtigen Tools hängt oft von den spezifischen Anforderungen des Projekts, des Teams und der Organisation ab.


Newsletter 📰

Bleiben Sie auf dem Laufenden mit diesen Newslettern:


Diskussionsforen und Communitys 🗣️💬

Tauschen Sie sich mit anderen aus und stellen Sie Fragen:


Möglichkeiten für freiwilliges Engagement & Open Source Projekte 🤝💡

Tragen Sie zu Projekten bei und sammeln Sie praktische Erfahrung:

  • GitHub: github.com - Suchen Sie nach Projekten mit Tags wie good first issue, help wanted in Bereichen wie scikit-learn, pandas, tensorflow, pytorch oder anderen Bibliotheken, die Sie interessieren.
  • Kaggle Wettbewerbe: kaggle.com/competitions - Nehmen Sie an Wettbewerben teil, um Ihre Fähigkeiten zu testen und von anderen zu lernen. Oft gibt es auch Team-Möglichkeiten.
  • CorrelAid: correlaid.org - Ein Netzwerk von Data-Science-Enthusiasten, die Non-Profit-Organisationen mit Data-Science-Projekten unterstützen (hauptsächlich in Deutschland, aber auch international).
  • DataKind: datakind.org - Organisationen, die Data Science im Dienste der Menschheit einsetzen (Projekte oft für erfahrene Fachleute, aber es gibt auch Möglichkeiten, sich zu engagieren).
  • Omdena: omdena.com - Kollaborative KI-Projekte zur Lösung realer Probleme.

Konferenzen (Auswahl) 📅🏛️

Konferenzen sind eine großartige Möglichkeit, sich über die neuesten Entwicklungen zu informieren und Kontakte zu knüpfen (viele bieten auch Online-Zugang oder Aufzeichnungen):

  • International:
    • NeurIPS (Conference on Neural Information Processing Systems): nips.cc
    • ICML (International Conference on Machine Learning): icml.cc
    • CVPR (Conference on Computer Vision and Pattern Recognition): cvpr.thecvf.com
    • ACL (Annual Meeting of the Association for Computational Linguistics): aclweb.org
    • KDD (ACM SIGKDD Conference on Knowledge Discovery and Data Mining): kdd.org
  • Europa / Deutschland (Beispiele):
    • PyData Conferences: pydata.org (weltweit, auch in Europa, z.B. Berlin, Amsterdam)
    • ODSC (Open Data Science Conference) Europe: odsc.com/europe/
    • Data Natives: datanatives.io (oft in Berlin)
    • Achten Sie auf lokale Universitäts-Workshops und Industrieveranstaltungen.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5