Zum Inhalt wechseln
LG4ML
  • Start
  • Idee
  • Projekte
  • Über uns
  • Wiki
  • Blog

Buzzwords

7
  • Transfer Learning
  • Machine Learning
  • Künstliche Intelligenz
  • Deep Learning
  • Data Science Workflow
  • Computer Vision
  • Big Data

Computer Vision

3
  • YOLOv4
  • Object Tracking
  • Frame Differencing

Grundlagen

14
  • Unüberwachtes Lernen
  • Überwachtes Lernen
  • Trainingsphase
  • Sampling
  • Regression
  • Preprocessing
  • Metrics
  • Klassifikation
  • Hyperparameter Tuning
  • Hyperparameter
  • Distanzmetriken
  • Data Science Workflow
  • Data Exploration
  • Cross Validation

Lernverfahren

8
  • Support Vector Machine
  • Principal Component Analysis
  • Perceptron
  • Logistische Regression
  • Lineare Regression
  • K-Nearest-Neighbours
  • K-Means
  • Decision Tree

Neuronale Netze

5
  • Verlustfunktion
  • Transfer Learning
  • Künstliches Neuron
  • Early Stopping
  • Aktivierungsfunktion

Preprocessing

8
  • Value Imputation
  • Scaling
  • Principal Component Analysis
  • Outlier Detection Basic
  • Outlier Detection Advanced
  • Frequenz Filter
  • Feature Engineering
  • Data Augmentation

Python Pakete

1
  • Data-Science Pakete
View Categories
  • Startseite
  • Docs
  • Grundlagen
  • Sampling

Sampling

1 min read

Sampling ist ein Verfahren aus der Phase der Modelloptimierung und wird sehr häufig bei ungleichen Klassenverteilungen eingesetzt. Wenn die Klassen im Datensatz zu einer Problemstellung extrem ungleich verteilt sind, entsteht dabei beim Trainieren der Modelle ein sogenannter Bias in Bezug auf die Klasse, von der mehr Samples vorhanden sind. Dies bedeutet, dass bei der Vorhersage von neuen Datenpunkten diese Klasse deutlich häufiger vorhergesagt wird. Ein klassisches Beispiel sind Datensätze zur Betrugserkennung, bei denen meist nur unter 5% der Daten wirklich Betrug sind. Entsprechend könnte ein Modell eine Accuracy von 95% erzielen, indem alle Daten als kein Betrug vorhergesagt werden – dies ist natürlich nicht wünschenswert, daher kann durch Sampling das Verhältnis zwischen Betrug und kein Betrug aneinander angeglichen werden. Zudem sollte bei Datensätzen mit unausgeglichenen Klassenverhältnissen eher der F1-Score als Metrik verwendet werden und nicht die Accuracy. Die beiden folgenden Abbildungen stehen für ein binäres Klassifikationsproblem (z.B. Betrugserkennung) und bilden die Basis für die vorgestellten Sampling Verfahren.

Originaler Datensatz mit Class-Imbalance zwischen
Betrug und Kein Betrug

Undersampling #

Beim Undersampling werden die Verhältnisse der Klassen aneinander angeglichen, indem zufällig Sample der Majority-Class (=Klasse mit mehr Datenpunkten) aus dem Datensatz entfernt werden, bis die Verhältnisse aneinander angeglichen sind. Eine Implementierung des Verfahrens wird mit dem RandomUnderSampler aus dem Paket Imblearn zur Verfügung gestellt, das automatisch mit Scikit-Learn installiert wird. Die Abbildung zeigt gut, wie Datenpunkte der Majority-Class entfernt wurden und nachfolgend für beide Klassen gleich viele Datenpunkte vorhanden sind.

Datensatz nach Undersampling

Oversampling #

Das Oversampling verfolgt genau den umgekehrten Ansatz zum Undersampling und dupliziert solange Samples der Minority-Class (=Klasse mit weniger Datenpunkten), bis die Verhältnisse aneinander angeglichen sind. Da es sich um Duplikate handelt, ist der Effekt bei der Visualisierung nicht wirklich bis gar nicht zu sehen und die Abbildung sieht genauso aus wie der originale Datensatz. Oversampling kann schnell dazu führen, dass je nach Lernverfahren einzelne Koordinaten bzw. Kombinationen aus Attributen auswendig gelernt werden, da diese eine relativ große Anzahl an Datenpunkten einer Klasse widerspiegeln.

Datensatz nach Oversampling

SMOTE #

SMOTE ist ebenfalls ein Oversampling Verfahren und steht dabei genauer gesagt für Synthetic Minority Over-sampling Technique. Im Gegensatz zum RandomOverSampling werden jedoch nicht nur bestehende Datenpunkte dupliziert, sondern synthetisch neue Datenpunkte der Minority-Class generiert. Dahinter liegt die Annahme, dass Punkte einer Klasse nah beieinander und in festen Bereichen liegen. SMOTE generiert also neue Punkte, die zwischen den bereits bestehenden Punkten der Klasse liegen und vergrößert damit mehr oder weniger den Bereich der Klasse. Das Vorgehen ist in der Abbildung gut zu sehen, wie die neuen Datenpunkte in bestimmten Bereichen und auf Linien zwischen bestehenden Punkten der Minority-Class liegen.

Datensatz nach Oversampling mit SMOTE

Weiterführende Links:
SMOTE (Paper): https://arxiv.org/pdf/1106.1813.pdf
Sapling Techniques: https://towardsdatascience.com/sampling-techniques-a4e34111d808
Imbalanced Learn Documentation: https://imbalanced-learn.org/stable/

Updated on 12/03/2022

What are your Feelings

  • Happy
  • Normal
  • Sad
Share This Article :
  • Facebook
  • X
  • LinkedIn
  • Pinterest

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Inhalt
  • Undersampling
  • Oversampling
  • SMOTE

LG4ML

Promoting Machine Learning from Lüneburg!

© 2025 LG4ML

Navigation

  • Kontakt
  • Datenschutzerklärung
  • Impressum

Folge uns auf

Github Slack Instagram

Made with 🍺 in Lüneburg.

Cookie-Hinweis
Wir verwenden Cookies auf unserer Website, um Ihnen die bestmögliche Erfahrung zu bieten, indem wir uns an Ihre Präferenzen und wiederholten Besuche erinnern. Wenn Sie auf "Alle akzeptieren" klicken, erklären Sie sich mit der Verwendung aller Cookies einverstanden. Sie können jedoch die Einstellungen besuchen, um eine kontrollierte Zustimmung zu erteilen.
EinstellungenAlle akzeptieren
Zustimmung verwalten

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
immer aktiv
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDauerBeschreibung
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SPEICHERN & AKZEPTIEREN