Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Feature Engineering

La creazione di caratteristiche trasforma i dati grezzi in input che un modello può apprendere facilmente, sfruttando le conoscenze del dominio. Tecniche fondamentali, insidie della fuga di dati, applicazioni e codice.

L'ingegneria delle caratteristiche è il processo di creazione, trasformazione e selezione delle variabili di input, o caratteristiche, da cui apprende un modello di apprendimento automatico, basandosi sulla conoscenza del dominio e dei dati. Un timestamp grezzo si trasforma nell'ora del giorno e nel giorno della settimana, un elenco di transazioni con carta si traduce nella spesa di un cliente negli ultimi 30 giorni e dalla distanza e dalla durata di un viaggio si ricava la velocità. Le caratteristiche ben scelte consentono a un modello semplice di cogliere schemi che altrimenti non individuerebbe e sono particolarmente importanti per i dati tabellari e le serie temporali, in cui un modello può usare solo le colonne che gli vengono fornite. I modelli di apprendimento profondo apprendono autonomamente le proprie caratteristiche da immagini, audio e testo grezzi; ciò ha spostato in questi ambiti l'ingegneria delle caratteristiche verso la preparazione dei dati e la creazione di caratteristiche a partire dagli output del modello.

Tecniche comuni#

  • Scalatura e normalizzazione: Standardizzare le caratteristiche a media zero e varianza unitaria impedisce che quelle espresse in unità grandi prevalgano nei modelli basati sulle distanze e nell'addestramento basato sui gradienti; una trasformazione logaritmica comprime i valori asimmetrici, come redditi o prezzi.
  • Codifica delle variabili categoriche: La codifica one-hot trasforma una categoria, come un colore, in colonne binarie; la codifica target sostituisce ogni categoria con il target medio di quella categoria, calcolato su fold separati per evitare che la codifica riveli l'etichetta della singola riga.
  • Rapporti e interazioni: Il rapporto debito/reddito, il prezzo per metro quadrato e l'indice di massa corporea combinano due valori grezzi nella quantità che determina effettivamente il risultato.
  • Caratteristiche di data e ora: L'ora, il giorno della settimana, il mese e le indicazioni dei giorni festivi evidenziano i cicli; le codifiche seno e coseno dell'ora collocano le 23:00 accanto alle 00:00.
  • Ritardi e finestre mobili: I valori precedenti, le medie mobili e i conteggi su finestre recenti forniscono al modello la cronologia recente di un sensore, un account o un prodotto.
  • Raggruppamento in intervalli: Raggruppare i valori continui in intervalli, ad esempio fasce d'età, permette di cogliere effetti a gradini e limita l'influenza dei valori estremi.
  • Riduzione della dimensionalità con PCA: L'analisi delle componenti principali comprime molte caratteristiche correlate in poche caratteristiche non correlate.
  • Selezione delle caratteristiche: I metodi filtro ordinano le caratteristiche in base alla correlazione o all'informazione mutua con il target; i metodi wrapper verificano sottoinsiemi di caratteristiche con un modello; i metodi integrati, come la regolarizzazione L1, eliminano le caratteristiche durante l'addestramento.

Una feature di rapporto mostra perché funziona. Un albero decisionale con profondità limitata può suddividere i dati in base a una sola feature alla volta, quindi approssima male la regola «velocità media superiore a 90 km/h» usando solo distanza e durata, mentre la riproduce esattamente non appena calcola la velocità:

import numpy as np
from sklearn.model_selection import cross_val_score
from sklearn.tree import DecisionTreeClassifier

# 1,000 trips: raw distance (km) and duration (h); label = average speed above 90 km/h
rng = np.random.default_rng(0)
distance = rng.uniform(10, 300, 1000)
hours = rng.uniform(0.5, 4.0, 1000)
y = (distance / hours > 90).astype(int)

raw = np.column_stack([distance, hours])
engineered = (distance / hours).reshape(-1, 1)  # domain knowledge: speed = distance / time

tree = DecisionTreeClassifier(max_depth=2, random_state=0)
for name, X in [("Raw distance and duration", raw), ("Engineered speed", engineered)]:
    print(f"{name}: accuracy {cross_val_score(tree, X, y, cv=5).mean():.3f}")

Con lo stesso albero di profondità 2, l'accuratezza convalidata incrociata passa da 0.861 con distanza e durata grezze a 1.000 con la feature velocità progettata, perché il confine diagonale nello spazio distanza-durata diventa un'unica soglia sulla velocità.

Convalida delle feature senza leakage#

Una feature è valida solo se il suo valore è noto al momento della previsione. Un modello di abbandono che usa il «numero di chiamate all'assistenza nel mese successivo alla cancellazione» o una codifica del target calcolata sull'intero dataset ottiene buoni risultati nei test, ma fallisce in produzione: è una forma di leakage dei dati. Ogni trasformazione con parametri appresi, come le medie dello scaler o le codifiche delle categorie, viene quindi adattata solo sui fold di addestramento, come fanno automaticamente le pipeline di scikit-learn, e ogni nuova feature viene mantenuta solo se migliora il punteggio con convalida incrociata. I sistemi di produzione devono anche calcolare ogni feature esattamente come durante l'addestramento; i feature store gestiscono questo aspetto fornendo a entrambi le stesse definizioni delle feature.

Progettazione delle feature nella computer vision#

La computer vision classica si basava su feature progettate a mano, come mappe dei bordi, descrittori di punti chiave SIFT e istogrammi dei gradienti orientati, che venivano poi classificati da algoritmi come le macchine a vettori di supporto. Da quando AlexNet ha vinto la sfida ImageNet nel 2012, le reti neurali convoluzionali apprendono le proprie mappe di feature dai pixel e il lavoro di progettazione si è spostato sui dati di addestramento, tramite l'augmentation dei dati, e sugli output dei modelli di visione. SpeedEstimator di Ultralytics ricava una feature di velocità dall'output del tracking degli oggetti di YOLO26: quando una traccia ha cinque posizioni, converte in metri lo spostamento in pixel tra la prima e l'ultima usando la scala meter_per_pixel e lo divide per il tempo trascorso per calcolare la velocità in km/h.

Applicazioni#

  • Rischio di credito: gli istituti di credito ricavano dai dati grezzi dei conti il rapporto debito/reddito, l'utilizzo del credito e i mesi trascorsi dall'ultimo pagamento mancato: feature che prevedono il default meglio dei saldi grezzi.
  • Manutenzione predittiva: medie mobili, tassi di variazione ed energia delle bande di frequenza calcolati dai flussi di vibrazioni e temperature rivelano l'usura in corso prima che una lettura grezza superi una soglia di allarme.
  • Rilevamento delle frodi: le feature di frequenza, come il numero di transazioni con carta nell'ultima ora e la distanza tra un acquisto e la posizione abituale del titolare della carta, distinguono le frodi dalle spese normali.
  • Previsione della domanda: i modelli per il commercio al dettaglio combinano ritardi delle vendite, medie mobili, variazioni dei prezzi, indicatori promozionali e festività per ogni punto vendita e prodotto.
  • Estrazione delle feature: calcola automaticamente le feature con un algoritmo fisso o un modello appreso, come PCA o il backbone di una rete neurale. I due termini sono spesso usati come sinonimi, ma la progettazione delle feature indica un processo più ampio e guidato dal dominio.
  • Pre-elaborazione dei dati: pulisce e formatta i dati correggendo gli errori, compilando i valori mancanti e convertendo i tipi; è il passaggio che precede la progettazione delle feature.
  • Embedding: vettori densi che un modello apprende durante l'addestramento per rappresentare parole, immagini o utenti e che, nella maggior parte dei sistemi di linguaggio e visione, sostituiscono feature costruite manualmente come il conteggio delle parole.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning