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.
Z.B. dieser Bezeichner verweist auf Ordner 2 und das Notebook mit dem Code EDA.
- Führen Sie das Setup-Skript aus:
./setup.sh
odersh setup.sh
- 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
- 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
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.
-
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.
- Bücher:
- "Python for Data Analysis" von Wes McKinney hier besonders relevant. Link zum Kauf
- "Fluent Python" von Luciano Ramalho: Für diejenigen, die idiomatischeren und effizienteren Python-Code schreiben möchten. Link zum Kauf
- Tutorials & Dokumentation:
- Offizielles Python-Tutorial: docs.python.org/3/tutorial/
- NumPy-Dokumentation: numpy.org/doc/stable/
- Pandas-Dokumentation: pandas.pydata.org/pandas-docs/stable/
- Scikit-learn-Dokumentation: scikit-learn.org/stable/documentation.html
- Videos:
- Corey Schafer's Python YouTube-Kanal: youtube.com/@coreyms - Ausgezeichnete Tutorials zu verschiedenen Python-Themen, einschließlich Pandas und OOP.
- Sentdex YouTube-Kanal: youtube.com/@sentdex - Behandelt eine breite Palette von Python-Programmierung, einschließlich Datenanalyse und maschinellem Lernen.
- 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:
- Khan Academy's Statistics and Probability: khanacademy.org/math/statistics-probability (Viele Inhalte auch auf Deutsch verfügbar)
- 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.
- 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.
- Videos:
- StatQuest: "k-nearest neighbors (kNN) clearly explained" Link
- Artikel:
- "An Introduction to K-Nearest Neighbours Algorithm" auf Towards Data Science. Link
- Bücher:
- Kapitel in "An Introduction to Statistical Learning."
- Videos:
- StatQuest: "Linear Regression, Clearly Explained" Link
- Khan Academy Videos zur linearen Regression.
- Videos:
- StatQuest: "Logistic Regression" (Playlist)
- Artikel:
- "Logistic Regression - Explained" auf Towards Data Science. Link
- 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:
- Videos:
- StatQuest: "Support Vector Machines (SVMs), Clearly Explained" Link auf statquest.org
- Artikel:
- "Support Vector Machine (SVM) Explained" auf Towards Data Science: Link
- Videos:
- StatQuest: "Naive Bayes, Clearly Explained" Link
- Artikel:
- "Naive Bayes Classifier Explained" auf Towards Data Science: Link
-
Dokumentation & Artikel:
- Scikit-learn-Dokumentation zu Model evaluation (ROC, AUC, etc.).
- Scikit-learn-Dokumentation zu Tuning the hyper-parameters of an estimator.
- "Understanding AUC Scores in Depth: What's the Point?" auf Towards Data Science: Link
- "Hyperparameter tuning in Python" auf Towards Data Science: Link
-
Videos:
- StatQuest: "ROC and AUC, Clearly Explained" Link
- Videos zu Kreuzvalidierung und Hyperparameter-Tuning (z.B. von Sentdex oder Krish Naik auf YouTube).
- 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.
- 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:
- 3Blue1Brown YouTube-Kanal: Neural Networks series Playlist auf dem Kanal youtube.com/@3blue1brown für ein intuitives Verständnis.
- Two Minute Papers YouTube-Kanal: youtube.com/@TwoMinutePapers - Fasst spannende neue KI-Forschungsarbeiten zusammen.
- Dokumentation & Tutorials:
- Offizielle PyTorch-Tutorials: pytorch.org/tutorials/
- 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).
- Artikel:
- Videos:
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:
- Huggingface: huggingface.com - Datensätze und Modelle für Machine Learning
- Kaggle Datasets: kaggle.com/datasets - Eine sehr große Sammlung von Datensätzen zu verschiedensten Themen.
- UCI Machine Learning Repository: archive.ics.uci.edu/ml/index.php - Ein klassisches Repository für ML-Datensätze.
- Google Dataset Search: datasetsearch.research.google.com - Eine Suchmaschine für Datensätze.
- Data.gov: www.data.gov - Datensätze der US-Regierung.
- EU Open Data Portal: data.europa.eu/euodp/de/home - Datensätze von EU-Institutionen.
- Statistisches Bundesamt (Destatis): www.destatis.de - Für deutsche Statistiken.
- Awesome Public Datasets (GitHub): github.com/awesomedata/awesome-public-datasets - Eine kuratierte Liste öffentlicher Datensätze.
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:
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
Viele Cloud-Anbieter bieten umfassende Suiten für Data Science, Machine Learning und MLOps:
- Amazon Web Services (AWS): (aws.amazon.com)
- Amazon SageMaker: Vollständig verwaltete Plattform für den gesamten ML-Workflow. (aws.amazon.com/sagemaker/)
- Google Cloud Platform (GCP): (cloud.google.com)
- Vertex AI: Einheitliche ML-Plattform. (cloud.google.com/vertex-ai)
- Microsoft Azure: (azure.microsoft.com)
- Azure Machine Learning: Umfassender Dienst für ML-Entwicklung und -Deployment. (azure.microsoft.com/services/machine-learning/)
- Relationale Datenbanken (SQL):
- PostgreSQL: (www.postgresql.org)
- MySQL: (www.mysql.com)
- SQLite: (www.sqlite.org)
- NoSQL-Datenbanken:
- MongoDB: (dokumentenorientiert) (www.mongodb.com)
- Redis: (Key-Value) (redis.io)
- Apache Cassandra: (spaltenorientiert) (cassandra.apache.org)
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.
Bleiben Sie auf dem Laufenden mit diesen Newslettern:
- Data Elixir: dataelixir.com - Kuratierte Nachrichten und Ressourcen zu Data Science.
- KDnuggets News: kdnuggets.com/news/subscribe.html - Wöchentliche Zusammenfassung von KDnuggets.
- The Batch (DeepLearning.AI): deeplearning.ai/the-batch/ - Wöchentliche KI-Nachrichten von Andrew Ng's Team.
- Import AI: jack-clark.net - Wöchentlicher Newsletter über KI-Forschung und -Entwicklungen.
- O'Reilly Data & AI Newsletter: oreilly.com/content-marketing/newsletter/ (Suche nach Data & AI)
Tauschen Sie sich mit anderen aus und stellen Sie Fragen:
- Stack Overflow: stackoverflow.com (Tags:
python
,pandas
,scikit-learn
,tensorflow
,pytorch
,machine-learning
,deep-learning
) - Cross Validated (Stack Exchange): stats.stackexchange.com - Für Fragen zu Statistik und maschinellem Lernen.
- Kaggle Discussions: kaggle.com/discussions - Diskussionsforen zu Wettbewerben, Datensätzen und allgemeinen ML-Themen.
- Reddit:
- r/MachineLearning: reddit.com/r/MachineLearning/
- r/datascience: reddit.com/r/datascience/
- r/learnmachinelearning: reddit.com/r/learnmachinelearning/
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 wiescikit-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 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.