Zum Inhalt springen
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
  • Preprocessing
  • Value Imputation

Value Imputation

3 min read

Value Imputation ist ein wichtiger Schritt im Preprocessing und befasst sich mit dem Füllen fehlender Werte –  daher wird er meist im Anschluss an die Outlier Detection durchgeführt. Fehlende Werte sind ein großes Problem, wenn es um das Training von Machine Learning Modellen geht, und müssen daher entsprechend behandelt werden. Eine simple Variante besteht darin, alle Einträge mit fehlenden Werten aus dem Datensatz zu entfernen. Je nachdem, wie viele Elemente dabei entfernt werden, wird die Größe des Datensatzes deutlich reduziert und eventuell zu gering, damit ein Machine Learning Modell erfolgreich allgemeine Regeln ableiten kann. Die zweite Variante besteht darin, fehlende Werte zu füllen – die sogenannte Value Imputation. Dieser Artikel stellt verschiedene Varianten vor, wie fehlende Werte in Datensätzen gefüllt werden können.

Mean / Median / Mode – Impute #

Eine sehr simple Variante besteht darin, fehlende Werte eines Attributs auf Basis der verbleibenden Werte des Attributs zu füllen. Für numerische Werte können entweder Mittelwert oder Median verwendet werden, für kategorische Attribute wird meist der Modus (häufigster Attributwert) verwendet. Diese Variante der Value Imputation ist sehr simpel und erfordert auch bei großen Datensätzen keine große Rechenleistung. Jedoch sind die Ergebnisse meist eher mittelmäßig, da alle fehlende Werte unabhängig von weiteren Attributen mit den gleichen Werten gefüllt werden. Bei Klassifikations-Problemen gibt es die Variante, den Mittelwert aller Einträge mit der gleichen Klasse zu verwenden bei fehlenden Werten, um spezifische Informationen zu bekommen. Der folgende Codeblock zeigt, wie mit Pandas fehlende Werte mit dem Mittelwert gefüllt werden können.

# Fehlende Werte mit dem allgemeinen Mittelwert der Spalte füllen (Pandas)
data.fillna(value=data.mean())

# Fehlende Werte eines einzelnen Attributs mit dem spezifischen Mittelwert der Klasse füllen
col = 'Attributname'

# Mittelwert für je Klasse berechnen
mean_klassen = data.groupby('Label')[col].mean()

# Für jede einzelne Klasse...
for c in data['Label'].unique():
  # ... ersetze fehlende Werte dieser Klasse mit dem Mittelwert
  data.loc[(data['Label']==c) & (data[col].isna()), [col]] = mean_klassen[c]

Interpolation (nur bei Zeitreihen) #

Die folgende Variante kann nur auf Daten angewandt werden, die im zeitlichen Zusammenhang zueinander stehen – den sogenannten Zeitreihen. Wird ein Datenpunkt als Ausreißer erkannt und entfernt oder liegt nicht vor, kann er auf Basis der zeitlich angrenzenden Datenpunkte berechnet bzw. interpoliert werden. Wenn also der Datenpunkt zum Zeitpunkt t keinen Wert hat, berechnet sich der Wert wie folgt.

y(t) = (y(t-1) + y(t+1)) / 2

Der Datenpunkt bekommt also den Mittelwert aus den beiden angrenzenden Messpunkten. Falls auch der direkte Nachbar keinen Wert hat, wird automatisch der nächste Datenpunkt mit einem Wert gewählt. Das Verfahren kann also keine Werte am Ende einer Zeitreihe auffüllen, da nur vorher ein Datenpunkt mit Wert bekannt ist. Die Abbildung zeigt beispielhaft, wie Datenpunkte durch Outlier Detection und Interpolation verändert werden.

Originale Daten und Interpolierte Daten im Vergleich

KNN-Impute #

Die bisher vorgestellten Verfahren orientierten sich wenig bis gar nicht an den weiteren Verfügbaren Informationen aus weiteren Attributen. Beim KNN-Impute oder auch Bag-Impute wird auf Basis der Datenpunkte mit vorhandenen Werten bei einem Attribut ein KNN-Modell gebildet, dass dann auf Basis der weiteren Attribute eines Datenpunktes das fehlende Attribut vorhersagt. Die Logik dahinter liegt darin, dass Datenpunkte mit ähnlichen Werten unter den weiteren Attributen auch bei dem Attribut, wo fehlende Werte vorliegen, nah beieinander liegen bzw. ähnliche Werte aufweisen.

Weiterführende Links:
Imputation of missing values: https://scikit-learn.org/stable/modules/impute.html
A Guide To KNN Imputation: https://medium.com/@kyawsawhtoon/a-guide-to-knn-imputation-95e2dc496e

Updated on 12/03/2022

What are your Feelings

  • Happy
  • Normal
  • Sad

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Scaling

Schreibe einen Kommentar Antworten abbrechen

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

Inhalt
  • Mean / Median / Mode - Impute
  • Interpolation (nur bei Zeitreihen)
  • KNN-Impute

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