Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Trasformazione ed Estrazione delle Feature | Tecniche di Trasformazione dei Dati
Preprocessing dei Dati e Feature Engineering

bookTrasformazione ed Estrazione delle Feature

Scorri per mostrare il menu

Molti dataset reali contengono variabili con distribuzioni asimmetriche, che possono ridurre l'efficacia dei modelli di machine learning. È possibile applicare trasformazioni matematiche per ridurre l'asimmetria e migliorare la qualità dei dati. Due metodi comuni sono:

  • Trasformazione logaritmica: riduce una forte asimmetria positiva applicando log(x);
  • Trasformazione della radice quadrata: modera livelli minori di asimmetria utilizzando sqrt(x).

Questi metodi aiutano a rendere le distribuzioni delle variabili più simili a una normale e migliorano le prestazioni del modello.

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
Definizione

L'estrazione delle caratteristiche è il processo di creazione di nuove variabili a partire dai dati grezzi per migliorare le prestazioni dei modelli di machine learning.

Aiuta rendendo le informazioni importanti più esplicite, riducendo il rumore e talvolta abbassando la dimensionalità dei dati. Un'estrazione efficace delle caratteristiche può portare a previsioni migliori e modelli più interpretabili.

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

Quale trasformazione sarebbe più appropriata per una variabile con forte asimmetria positiva e solo valori positivi?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 3

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 2. Capitolo 3
some-alt