Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Funksjonstransformasjon og -Ekstraksjon | Datatransformasjonsteknikker
Dataprosessering og Feature Engineering

bookFunksjonstransformasjon og -Ekstraksjon

Mange virkelige datasett inneholder variabler med skjeve fordelinger, noe som kan redusere effektiviteten til maskinlæringsmodeller. Du kan bruke matematiske transformasjoner for å redusere skjevhet og forbedre datakvaliteten. To vanlige metoder er:

  • Logaritmisk transformasjon: reduserer sterk positiv skjevhet ved å bruke log(x);
  • Kvadratrot-transformasjon: modererer mindre grader av skjevhet ved å bruke sqrt(x).

Disse metodene bidrar til å gjøre fordelingen av variabler mer normalfordelt og forbedrer modellens ytelse.

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
Definisjon

Egenskapsuttrekking er prosessen med å lage nye variabler fra rådata for å forbedre ytelsen til maskinlæringsmodeller.

Dette bidrar til å gjøre viktig informasjon mer eksplisitt, redusere støy og noen ganger senke datadimensjonaliteten. Effektiv feature-ekstraksjon kan føre til bedre prediksjoner og mer tolkbare 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 transformasjon vil være mest hensiktsmessig for en variabel med sterk positiv skjevhet og kun positive verdier?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 3

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 8.33

bookFunksjonstransformasjon og -Ekstraksjon

Sveip for å vise menyen

Mange virkelige datasett inneholder variabler med skjeve fordelinger, noe som kan redusere effektiviteten til maskinlæringsmodeller. Du kan bruke matematiske transformasjoner for å redusere skjevhet og forbedre datakvaliteten. To vanlige metoder er:

  • Logaritmisk transformasjon: reduserer sterk positiv skjevhet ved å bruke log(x);
  • Kvadratrot-transformasjon: modererer mindre grader av skjevhet ved å bruke sqrt(x).

Disse metodene bidrar til å gjøre fordelingen av variabler mer normalfordelt og forbedrer modellens ytelse.

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
Definisjon

Egenskapsuttrekking er prosessen med å lage nye variabler fra rådata for å forbedre ytelsen til maskinlæringsmodeller.

Dette bidrar til å gjøre viktig informasjon mer eksplisitt, redusere støy og noen ganger senke datadimensjonaliteten. Effektiv feature-ekstraksjon kan føre til bedre prediksjoner og mer tolkbare 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 transformasjon vil være mest hensiktsmessig for en variabel med sterk positiv skjevhet og kun positive verdier?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 3
some-alt