Page cover

Datenaugmentierung

Die Datenaugmentierung ist eine Technik, die verwendet wird, um die Menge und Vielfalt der Trainingsdaten künstlich zu erhöhen, ohne tatsächlich neue Daten zu sammeln. Dies ist besonders nützlich, wenn die verfügbaren Trainingsdaten begrenzt sind und das Risiko der Überanpassung besteht. Durch die Anwendung verschiedener Transformationen auf die vorhandenen Datenpunkte können neue Beispiele generiert werden, die dem Modell helfen, robuster und generalisierbarer zu werden.

1. Bilddatenaugmentierung: Bei Bilddaten werden Techniken wie das Drehen, Spiegeln, Skalieren, Zuschneiden und Ändern der Helligkeit der Bilder angewendet. Diese Transformationen helfen dem Modell, invariant gegenüber diesen Änderungen zu werden und die Leistung auf neuen Bildern zu verbessern.

Mehr erfahren: Keras/ImageDataGeneratorarrow-up-right

import numpy as np
import matplotlib.pyplot as plt
from keras.preprocessing.image import ImageDataGenerator
from keras.preprocessing import image

# Erstellung eines ImageDataGenerators mit verschiedenen Datenaugmentierungstechniken
datagen = ImageDataGenerator(
    rotation_range=40,
    width_shift_range=0.2,
    height_shift_range=0.2,
    shear_range=0.2,
    zoom_range=0.2,
    horizontal_flip=True,
    fill_mode='nearest'
)

# Beispielhafte Anwendung der Datenaugmentierung auf ein Bild
img_path = 'path_to_image.jpg'  # Pfad zu einem Beispielbild
img = image.load_img(img_path, target_size=(150, 150))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)

# Generierung von augmentierten Bildern
i = 0
for batch in datagen.flow(x, batch_size=1):
    plt.figure(i)
    imgplot = plt.imshow(image.array_to_img(batch[0]))
    i += 1
    if i % 4 == 0:
        break
plt.show()

2. Textdatenaugmentierung: Bei Textdaten werden Techniken angewendet wie Synonymersetzung, Einfügen von Rauschen, Umsortieren von Wörtern und andere Transformationen, die die Vielfalt der Textdaten erhöhen, ohne deren Bedeutung wesentlich zu verändern.

Mehr erfahren: nlpaugarrow-up-right

3. Tabellendatenaugmentierung: Bei tabellarischen Daten können Techniken wie das Hinzufügen von Rauschen zu numerischen Werten, das Erzeugen synthetischer Datenpunkte durch Bootstrapping oder das Verwenden von SMOTE (Synthetic Minority Over-sampling Technique) zur Erhöhung der Vielfalt und Balance der Daten beitragen.

Mehr erfahren: imbalanced-learn/SMOTEarrow-up-right

Durch die Anwendung von Datenaugmentierungstechniken können Modelle robuster und generalisierbarer gemacht werden, was zu besseren Leistungen auf unbekannten Daten führt. Es ist ein wichtiger Schritt, insbesondere bei kleinen Datensätzen, um die Menge der verfügbaren Trainingsdaten zu erhöhen und die Modellleistung zu verbessern.

Mehr erfahren: Arocom/Datenaugmentierungarrow-up-right, Datacamp/A Complete Guide to Data Augmentationarrow-up-right

Last updated