0Pricing
Learn AI with Python · Lezione

Creazione di feature di interazione e polinomiali

PolynomialFeatures, termini di interazione manuali, feature rapporto e discretizzazione delle variabili continue.

Creazione di feature di interazione e polinomiali è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.

Perché creare nuove feature

I modelli lineari catturano solo relazioni rettilinee. Creando feature di interazione e polinomiali, permette ai modelli semplici di esprimere curve ed effetti combinati tra le variabili.

Cosa sono le feature di interazione

Un'interazione moltiplica due feature, ad esempio area = length * width. Cattura gli effetti che dipendono contemporaneamente da entrambi gli input e che nessuno dei due, preso singolarmente, riesce a spiegare.

Nozioni di base su PolynomialFeatures

PolynomialFeatures genera automaticamente potenze e prodotti delle feature fino a un degree scelto. Il grado 2 aggiunge i quadrati e i prodotti a coppie.

from sklearn.preprocessing import PolynomialFeatures
import numpy as np

X = np.array([[2, 3]])
poly = PolynomialFeatures(degree=2)
print(poly.fit_transform(X))
# 1, x1, x2, x1^2, x1*x2, x2^2

La modalità interaction_only

Impostando interaction_only=True si conservano i prodotti incrociati, ma si eliminano le potenze pure come x1^2. È utile quando si vogliono solo gli effetti combinati, non la curvatura.

from sklearn.preprocessing import PolynomialFeatures

poly = PolynomialFeatures(degree=2, interaction_only=True, include_bias=False)
X_int = poly.fit_transform(X)

Attenzione all'esplosione delle feature

I gradi elevati generano molte feature e aumentano il rischio di overfitting. Con 10 input, il grado 3 produce centinaia di colonne. Mantenga basso il grado (2 o 3) e combini questa tecnica con la selezione delle feature o con la regolarizzazione.

Feature basate su rapporti manuali

La conoscenza del dominio spesso supera la forza bruta. Rapporti creati manualmente, come il prezzo al metro quadrato o i clic per impression, codificano un significato che l'espansione polinomiale non riuscirebbe a trovare.

import pandas as pd

df["price_per_sqm"] = df["price"] / df["area"]
df["ctr"] = df["clicks"] / df["impressions"]

Discretizzazione con pd.cut

La discretizzazione trasforma una variabile continua in categorie. pd.cut divide una colonna in intervalli, utile per catturare effetti non lineari o raggruppare età, redditi e così via.

import pandas as pd

df["age_group"] = pd.cut(
    df["age"],
    bins=[0, 18, 35, 60, 120],
    labels=["minor", "young", "adult", "senior"],
)

Discretizzazione a frequenza uniforme

pd.qcut crea intervalli con una numerosità approssimativamente uguale (quantili), utile quando la distribuzione è asimmetrica e si desiderano gruppi bilanciati.

import pandas as pd

df["income_quartile"] = pd.qcut(df["income"], q=4, labels=False)

Gestire l'asimmetria con la trasformazione logaritmica

Le feature con asimmetria a destra (redditi, prezzi, conteggi) penalizzano molti modelli. Una trasformazione logaritmica comprime i valori grandi e rende la distribuzione più simmetrica.

import numpy as np

# log1p handles zeros safely: log(1 + x)
df["log_income"] = np.log1p(df["income"])

Radice quadrata e altre trasformazioni

Anche la trasformazione con radice quadrata riduce l'asimmetria, ma in modo più graduale rispetto al logaritmo; è adatta ai dati di conteggio. Scelga la trasformazione che rende l'istogramma più simmetrico.

import numpy as np

df["sqrt_count"] = np.sqrt(df["count"])
# inspect df["sqrt_count"].hist() to confirm reduced skew

Mettere tutto insieme

Combini diversi approcci: applichi la trasformazione logaritmica alle colonne asimmetriche, utilizzi la discretizzazione quando le soglie sono importanti, aggiunga rapporti basati sul dominio e usi PolynomialFeatures per le interazioni. Verifichi sempre che le nuove feature migliorino effettivamente i punteggi ottenuti con la convalida incrociata.

Verifica rapida

Verifichi le Sue conoscenze sulla creazione delle feature.

Riepilogo

Riepilogo: crei feature per aiutare i modelli semplici. PolynomialFeatures con degree e interaction_only aggiunge prodotti e potenze (faccia attenzione all'esplosione delle feature). Costruisca rapporti manuali basati sulla conoscenza del dominio, utilizzi pd.cut/pd.qcut per la discretizzazione e corregga l'asimmetria con trasformazioni logaritmiche o con la radice quadrata. Verifichi sempre i miglioramenti.

Domande Frequenti

La lezione «Creazione di feature di interazione e polinomiali» è gratuita?

Sì — il testo completo di «Creazione di feature di interazione e polinomiali» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.

Cosa imparerò in «Creazione di feature di interazione e polinomiali»?

PolynomialFeatures, termini di interazione manuali, feature rapporto e discretizzazione delle variabili continue. Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Learn AI with Python?

Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Creazione di feature di interazione e polinomiali»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?

Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Metodi di selezione delle feature
  2. Creazione di feature di interazione e polinomiali
  3. Target encoding e gestione avanzata delle variabili categoriche
  4. Ingegneria automatizzata delle feature con Featuretools
← Torna a Learn AI with Python