Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Merkmaltransformation und -Extraktion | Datenumwandlungstechniken
Datenvorverarbeitung und Feature Engineering

bookMerkmaltransformation und -Extraktion

Viele reale Datensätze enthalten Merkmale mit schiefen Verteilungen, was die Effektivität von Machine-Learning-Modellen verringern kann. Mathematische Transformationen können angewendet werden, um die Schiefe zu reduzieren und die Datenqualität zu verbessern. Zwei gängige Methoden sind:

  • Logarithmische Transformation: Reduziert starke positive Schiefe durch Anwendung von log(x);
  • Quadratwurzel-Transformation: Mildert geringere Schiefegrade mit sqrt(x).

Diese Methoden helfen, Merkmalsverteilungen normalähnlicher zu gestalten und die Modellleistung zu steigern.

123456789101112131415161718192021222324252627282930
import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns # Load the Titanic dataset df = sns.load_dataset('titanic') fare = df['fare'] # Apply log transformation (add 1 to handle zeros) fare_log = np.log(fare + 1) # Create side-by-side histogram comparison fig, axes = plt.subplots(1, 2, figsize=(14, 5)) # Original fare axes[0].hist(fare, bins=50, color='skyblue', edgecolor='black', alpha=0.7) axes[0].set_xlabel('Fare ($)', fontsize=12) axes[0].set_ylabel('Frequency', fontsize=12) axes[0].set_title('Original Fare Distribution', fontsize=14, fontweight='bold') axes[0].grid(True, alpha=0.3) # Log-transformed fare axes[1].hist(fare_log, bins=50, color='lightcoral', edgecolor='black', alpha=0.7) axes[1].set_xlabel('Log(Fare + 1)', fontsize=12) axes[1].set_ylabel('Frequency', fontsize=12) axes[1].set_title('Log-Transformed Fare Distribution', fontsize=14, fontweight='bold') axes[1].grid(True, alpha=0.3) plt.tight_layout()
copy
Note
Definition

Merkmalextraktion ist der Prozess der Erstellung neuer Merkmale aus Rohdaten, um die Leistung von Machine-Learning-Modellen zu verbessern.

Es hilft, indem wichtige Informationen expliziter gemacht, Störgeräusche reduziert und manchmal die Dimensionalität der Daten verringert wird. Effektive Merkmalsextraktion kann zu besseren Vorhersagen und besser interpretierbaren Modellen führen.

1234567891011
import seaborn as sns import pandas as pd # Load the Titanic dataset df = sns.load_dataset('titanic') # Create a new feature: family_size = sibsp + parch + 1 df['family_size'] = df['sibsp'] + df['parch'] + 1 # Show the first few rows with the new feature print(df[['sibsp', 'parch', 'family_size']].head())
copy
question mark

Welche Transformation ist am besten geeignet für eine Variable mit starker positiver Schiefe und ausschließlich positiven Werten?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 8.33

bookMerkmaltransformation und -Extraktion

Swipe um das Menü anzuzeigen

Viele reale Datensätze enthalten Merkmale mit schiefen Verteilungen, was die Effektivität von Machine-Learning-Modellen verringern kann. Mathematische Transformationen können angewendet werden, um die Schiefe zu reduzieren und die Datenqualität zu verbessern. Zwei gängige Methoden sind:

  • Logarithmische Transformation: Reduziert starke positive Schiefe durch Anwendung von log(x);
  • Quadratwurzel-Transformation: Mildert geringere Schiefegrade mit sqrt(x).

Diese Methoden helfen, Merkmalsverteilungen normalähnlicher zu gestalten und die Modellleistung zu steigern.

123456789101112131415161718192021222324252627282930
import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns # Load the Titanic dataset df = sns.load_dataset('titanic') fare = df['fare'] # Apply log transformation (add 1 to handle zeros) fare_log = np.log(fare + 1) # Create side-by-side histogram comparison fig, axes = plt.subplots(1, 2, figsize=(14, 5)) # Original fare axes[0].hist(fare, bins=50, color='skyblue', edgecolor='black', alpha=0.7) axes[0].set_xlabel('Fare ($)', fontsize=12) axes[0].set_ylabel('Frequency', fontsize=12) axes[0].set_title('Original Fare Distribution', fontsize=14, fontweight='bold') axes[0].grid(True, alpha=0.3) # Log-transformed fare axes[1].hist(fare_log, bins=50, color='lightcoral', edgecolor='black', alpha=0.7) axes[1].set_xlabel('Log(Fare + 1)', fontsize=12) axes[1].set_ylabel('Frequency', fontsize=12) axes[1].set_title('Log-Transformed Fare Distribution', fontsize=14, fontweight='bold') axes[1].grid(True, alpha=0.3) plt.tight_layout()
copy
Note
Definition

Merkmalextraktion ist der Prozess der Erstellung neuer Merkmale aus Rohdaten, um die Leistung von Machine-Learning-Modellen zu verbessern.

Es hilft, indem wichtige Informationen expliziter gemacht, Störgeräusche reduziert und manchmal die Dimensionalität der Daten verringert wird. Effektive Merkmalsextraktion kann zu besseren Vorhersagen und besser interpretierbaren Modellen führen.

1234567891011
import seaborn as sns import pandas as pd # Load the Titanic dataset df = sns.load_dataset('titanic') # Create a new feature: family_size = sibsp + parch + 1 df['family_size'] = df['sibsp'] + df['parch'] + 1 # Show the first few rows with the new feature print(df[['sibsp', 'parch', 'family_size']].head())
copy
question mark

Welche Transformation ist am besten geeignet für eine Variable mit starker positiver Schiefe und ausschließlich positiven Werten?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3
some-alt