Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Featuretransformation og -Ekstraktion | Datatransformationsteknikker
Datapræprocessering og Feature Engineering

bookFeaturetransformation og -Ekstraktion

Mange virkelige datasæt indeholder funktioner med skæve fordelinger, hvilket kan reducere effektiviteten af maskinlæringsmodeller. Du kan anvende matematiske transformationer for at reducere skævhed og forbedre datakvaliteten. To almindelige metoder er:

  • Logaritmisk transformation: reducerer stærk positiv skævhed ved at anvende log(x);
  • Kvadratrodstransformation: modererer mindre grader af skævhed ved brug af sqrt(x).

Disse metoder hjælper med at gøre feature-fordelinger mere normalfordelte og forbedrer modellens ydeevne.

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

Feature extraction er processen med at skabe nye funktioner ud fra rådata for at forbedre ydeevnen af maskinlæringsmodeller.

Det hjælper ved at gøre vigtig information mere eksplicit, reducere støj og nogle gange sænke datadimensionaliteten. Effektiv feature-ekstraktion kan føre til bedre forudsigelser og mere fortolkelige modeller.

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

Hvilken transformation vil være mest passende for en variabel med stærk positiv skævhed og kun positive værdier?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 8.33

bookFeaturetransformation og -Ekstraktion

Stryg for at vise menuen

Mange virkelige datasæt indeholder funktioner med skæve fordelinger, hvilket kan reducere effektiviteten af maskinlæringsmodeller. Du kan anvende matematiske transformationer for at reducere skævhed og forbedre datakvaliteten. To almindelige metoder er:

  • Logaritmisk transformation: reducerer stærk positiv skævhed ved at anvende log(x);
  • Kvadratrodstransformation: modererer mindre grader af skævhed ved brug af sqrt(x).

Disse metoder hjælper med at gøre feature-fordelinger mere normalfordelte og forbedrer modellens ydeevne.

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

Feature extraction er processen med at skabe nye funktioner ud fra rådata for at forbedre ydeevnen af maskinlæringsmodeller.

Det hjælper ved at gøre vigtig information mere eksplicit, reducere støj og nogle gange sænke datadimensionaliteten. Effektiv feature-ekstraktion kan føre til bedre forudsigelser og mere fortolkelige modeller.

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

Hvilken transformation vil være mest passende for en variabel med stærk positiv skævhed og kun positive værdier?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3
some-alt