Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Ingegneria delle feature (Feature Engineering)

Aumenta l'accuratezza del machine learning con l'feature engineering avanzato. Scopri le tecniche per creare, trasformare e selezionare feature di impatto.

L'ingegneria delle caratteristiche è l'arte e la scienza di sfruttare la conoscenza del dominio per trasformare i dati grezzi in attributi informativi che rappresentano meglio il problema di fondo per i modelli predittivi. attributi informativi che rappresentano il problema sottostante in modo più efficace per i modelli predittivi. Nell'ambito più ampio dell'apprendimento apprendimento automatico (ML), i dati grezzi sono raramente pronti per essere per l'elaborazione immediata; spesso contengono rumore, valori mancanti o formati che gli algoritmi non possono interpretare direttamente. direttamente. Creando nuove caratteristiche o modificando quelle esistenti, gli ingegneri possono migliorare significativamente l'accuratezza e le prestazioni dei modelli. l'accuratezza e le prestazioni del modello, ottenendo spesso risultati migliori risultati migliori rispetto al semplice passaggio a un algoritmo più complesso. Questo processo colma il divario tra le informazioni grezze raccolte e la rappresentazione matematica necessaria per raccolte e la rappresentazione matematica necessaria per modellizzazione predittiva.

Tecniche fondamentali nell'ingegneria delle caratteristiche

Il processo prevede in genere diverse fasi iterative, volte a individuare i segnali più rilevanti nei dati. Mentre strumenti come la libreriaPandas di Python facilitano queste manipolazioni, la strategia si basa molto sulla strategia si basa molto sulla comprensione dello specifico dominio del problema.

  • Imputazione e pulizia: Prima di creare nuove caratteristiche, i dati devono essere stabilizzati. Questo comporta gestire i valori mancanti attraverso tecniche di pulizia dei dati, come il riempimento degli spazi mancanti con con la media, la mediana o un valore previsto, un processo noto come imputazione.
  • Trasformazione e scalatura: Molti algoritmi hanno scarse prestazioni quando le variabili di ingresso hanno scale diverse. Tecniche come la normalizzazione (scalare i dati in un intervallo compreso tra 0 e 1) o la standardizzazione (centratura dei dati intorno alla media) assicurano che nessuna singola caratteristica domini il processo di apprendimento solo a causa della sua grandezza.
  • Codifica di dati categorici: I modelli richiedono generalmente input numerici. L'ingegnerizzazione delle caratteristiche comporta la conversione di etichette di testo o di dati categorici in numeri. I metodi più comuni includono la codifica delle etichette e la codifica a un punto, che crea colonne binarie per ogni categoria.
  • Costruzione delle caratteristiche: È l'aspetto creativo in cui vengono ricavate nuove variabili. Per esempio, in un set di dati immobiliari, invece di usare separatamente "lunghezza" e "larghezza", un ingegnere potrebbe moltiplicarle per creare una caratteristica di "metratura", che si correla più fortemente con il prezzo. un ingegnere potrebbe moltiplicarle per creare una caratteristica "metratura", che ha una correlazione più forte con il prezzo.
  • Selezione delle caratteristiche: L'aggiunta di troppe caratteristiche può portare overfitting, in cui il modello memorizza il rumore. Tecniche come l'eliminazione ricorsiva delle caratteristiche o la riduzione della riduzione della dimensionalità aiutano a identificare e mantenere solo gli attributi di maggiore impatto.

Ingegneria delle caratteristiche nella visione artificiale

Nel campo della computer vision (CV), l'ingegnerizzazione delle feature spesso l'ingegnerizzazione delle feature assume la forma di aumento dei dati. Mentre i moderni modelli di deep learning apprendimento automatico di gerarchie e modelli, possiamo "ingegnerizzare" i dati di addestramento per renderli più robusti simulando condizioni ambientali diverse. simulando diverse condizioni ambientali. Modificando configurazioni di sintonizzazione degli iperparametri per geometriche permette al modello di apprendere caratteristiche invarianti rispetto all'orientamento o alla prospettiva.

Il seguente frammento di codice dimostra come applicare l'augmentation-based feature engineering durante l'addestramento di una classe di dati YOLO11 modello. Modificando argomenti come degrees e shearsintetizziamo nuove variazioni di caratteristiche a partire dal set di dati originale.

from ultralytics import YOLO

# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")

# Train with augmentation hyperparameters acting as on-the-fly feature engineering
# 'degrees' rotates images +/- 10 deg, 'shear' changes perspective
model.train(data="coco8.yaml", epochs=3, degrees=10.0, shear=2.5)

Applicazioni nel mondo reale

Il valore dell'ingegneria delle caratteristiche si comprende meglio attraverso la sua applicazione pratica in diversi settori.

  1. Valutazione del rischio finanziario: Nel settore finanziario, i registri grezzi delle transazioni non sono sufficienti per valutare il merito creditizio. Gli esperti utilizzano l'intelligenza artificiale in finanza per costruire indici come il "rapporto debito/reddito" o il "tasso di utilizzo del credito". Queste caratteristiche forniscono un segnale diretto della salute finanziaria, consentendo una più precisa di rischio di credito più preciso rispetto all'utilizzo stipendio o i numeri del debito in modo isolato.
  2. La manutenzione predittiva nella produzione: In AI nel settore manifatturiero, i sensori raccolgono dati ad alta frequenza su vibrazioni e temperatura. L'alimentazione delle letture grezze dei sensori direttamente in un modello è spesso rumorosa e inefficace. Invece, gli ingegneri utilizzano analisi delle serie temporali per creare caratteristiche come "media mobile della temperatura nell'ultima ora" o "deviazione standard delle vibrazioni". Queste caratteristiche Queste caratteristiche aggregate catturano le tendenze e le anomalie indicative dell'usura della macchina molto meglio dei valori istantanei. valori istantanei.

Distinzione dai termini correlati

È utile distinguere l'ingegneria delle caratteristiche da concetti simili per evitare confusione nelle discussioni sui flussi di lavoro.

  • Feature Engineering vs. Feature Extraction: Anche se spesso vengono usati in modo intercambiabile, c'è una sfumatura. Il Feature Engineering implica un processo manuale e creativo di costruzione di nuovi input basati sulla conoscenza del dominio. conoscenza del dominio. Al contrario, l 'estrazione delle caratteristiche si riferisce spesso a metodi metodi automatizzati o a proiezioni matematiche (come la PCA) che distillano i dati ad alta dimensionalità in una rappresentazione densa. Nell'apprendimento apprendimento profondo (DL), gli strati delle reti neurali convoluzionali (CNN) eseguono l'estrazione automatica delle caratteristiche apprendendo i filtri per i bordi e le texture.
  • Ingegneria delle caratteristiche vs. Embeddings: Nella moderna elaborazione del linguaggio naturale (NLP), la creazione manuale di caratteristiche (come il conteggio della frequenza delle parole) è stata ampiamente sostituita dagli embeddings. embeddings. Gli embeddings sono rappresentazioni vettoriali rappresentazioni vettoriali dense apprese dal modello stesso per catturare il significato semantico. Gli embeddings sono una forma di caratteristiche, sono apprese tramite processi di apprendimento automatico (AutoML) processi di apprendimento automatico (AutoML) piuttosto che essere esplicitamente "ingegnerizzati" a mano.

Padroneggiando l'ingegneria delle caratteristiche, gli sviluppatori possono costruire modelli non solo più accurati ma anche più efficienti, che richiedono meno potenza di calcolo per ottenere prestazioni elevate.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora