Passa al contenuto principale

Cos'è l'ingegneria delle funzionalità?

Cos'è l'ingegneria delle funzionalità?

Le funzionalità del modello sono gli input che i modelli di machine learning (ML) utilizzano durante l'addestramento e l'inferenza per effettuare previsioni. L'accuratezza di un modello di ML si basa su un set e una composizione di funzionalità precisi. Ad esempio, in un'applicazione di ML che suggerisce una playlist musicale, le funzionalità possono includere le valutazioni dei brani, le canzoni ascoltate in precedenza e il tempo di ascolto di ciascuna di esse. La creazione di funzionalità può richiedere uno sforzo ingegneristico significativo. L'ingegneria delle funzionalità implica l'estrazione e la trasformazione di variabili dai dati grezzi, come listini prezzi, descrizioni dei prodotti e volumi di vendita, in modo da poter utilizzare le funzionalità per l'addestramento e la previsione. I passaggi necessari per progettare le funzionalità includono l'estrazione e la pulizia dei dati e quindi la creazione e l'archiviazione delle funzionalità.

Quali sono le sfide dell'ingegneria delle funzionalità?

L'ingegneria delle funzionalità rappresenta una sfida perché implica una combinazione di analisi dei dati, conoscenza del dominio aziendale e una certa dose di intuizione. Nella creazione di funzionalità, si è tentati di ricorrere immediatamente ai dati disponibili, eppure spesso si dovrebbe iniziare a considerare quali dati sono necessari parlando con esperti, con brainstorming e ricerche presso terze parti. Senza questo esercizio, potrebbero sfuggire importanti variabili predittive.

Estrazione di dati

La raccolta dei dati è il processo di assemblaggio di tutti i dati necessari per il ML. La raccolta dati può essere noiosa, dal momento che i dati provengono da più origini di dati, inclusi laptop, data warehouse, cloud, applicazioni e dispositivi. Trovare modi per connettersi a diverse origini di dati può essere difficile. I volumi di dati stanno inoltre crescendo esponenzialmente, così che vi sono molti dati da ricercare. Inoltre, i dati hanno formati e tipologie ampiamente differenti in base all'origine. Per esempio, dati video e dati tabulari non sono semplici da utilizzare insieme.

Creazione di funzionalità

L'etichettatura dei dati è il processo di identificazione dei dati grezzi (immagini, file di testo, video, ecc.) e l'aggiunta di una o più etichette significative e informative per fornire contesto, in modo che un modello di ML possa imparare da esso. Ad esempio, le etichette potrebbero indicare se una foto contiene un uccello o un'auto, quali parole sono state pronunciate in una registrazione audio o se una radiografia contiene un'irregolarità. L'etichettatura dei dati può essere utilizzata per vari casi d'uso, tra cui visione artificiale, elaborazione del linguaggio naturale e riconoscimento vocale.

Archiviazione delle funzionalità

Dopo che i dati sono stati ripuliti ed etichettati, i team di ML spesso li esplorano per assicurarsi che siano corretti e pronti per il ML. Le visualizzazioni come istogrammi, diagrammi a dispersione, diagrammi a scatola e baffi, grafici a linee e grafici a barre sono tutti strumenti utili a confermare la correttezza dei dati. Inoltre, le visualizzazioni aiutano i team di data science a completare l'analisi esplorativa dei dati. Questo processo utilizza le visualizzazioni per scoprire pattern, evidenziare anomalie, provare un'ipotesi o verificare delle supposizioni. L'analisi esplorativa dei dati non richiede modellazione formale; invece, i team di data science possono utilizzare le visualizzazioni per decifrare i dati. 

In che modo AWS può aiutare con l'ingegneria delle funzionalità?

Con Amazon SageMaker Data Wrangler è possibile semplificare il processo di ingegneria delle funzionalità utilizzando un'unica interfaccia visiva. Utilizzando lo strumento di selezione dei dati di SageMaker Data Wrangler, è possibile scegliere i dati grezzi desiderati da diverse origini dei dati e importarli con un solo clic. SageMaker Data Wrangler contiene oltre 300 trasformazioni dei dati incorporate in modo da poter normalizzare, trasformare e combinare rapidamente le funzionalità senza dover scrivere codice. Una volta che i dati sono stati preparati, è possibile creare flussi di lavoro di ML completamente automatizzati con le Pipeline Amazon SageMaker e salvare i dati per riutilizzarli in Amazon SageMaker Feature Store. SageMaker Feature Store è un repository dedicato che consente di archiviare le funzionalità e di accedervi, semplificando la denominazione, l'organizzazione e il riutilizzo delle stesse da parte di team diversi. SageMaker Feature Store fornisce un archivio unificato per le funzionalità durante le fasi di addestramento e inferenza in tempo reale, senza la necessità di scrivere codice aggiuntivo o di creare procedure manuali per assicurare la coerenza delle funzionalità.