Skip to Content
Dismiss
Innovazione
Una piattaforma creata per l'AI

Unificata, automatizzata e pronta a trasformare i dati in intelligence.

Scopri come
Dismiss
16-18 giugno, Las Vegas
Pure//Accelerate® 2026

Scopri come trarre il massimo dai tuoi dati. 

Registrati ora

Che cos'è la pre-elaborazione dei dati per il machine learning?

La pre-elaborazione dei dati per il machine learning (ML) si riferisce alla preparazione e alla trasformazione dei dati raw in un formato adatto per l'addestramento dei modelli ML. È un passaggio essenziale in una pipeline ML (o AI) perché influisce direttamente sulle performance e sulla precisione dei modelli.

La pre-elaborazione dei dati prevede diverse tecniche, come la pulizia dei dati per gestire i valori mancanti, la rimozione degli outlier, la scalabilità delle funzionalità, la codifica delle variabili categoriche e la suddivisione dei dati in set di addestramento e test. Queste tecniche sono fondamentali per garantire che i dati siano in un formato coerente e utilizzabile per gli algoritmi ML.

Questo articolo descrive tutto ciò che devi sapere sulla pre-elaborazione dei dati per il machine learning, compresi i suoi vantaggi, passi ed esempi. 

Che cos'è la pre-elaborazione dei dati? 

La pre-elaborazione dei dati è la trasformazione dei dati non elaborati in un formato più adatto e significativo per l'analisi e l'addestramento dei modelli. La pre-elaborazione dei dati svolge un ruolo vitale nel miglioramento della qualità e dell'efficienza dei modelli ML, risolvendo problemi come valori mancanti, rumore, incoerenze e valori anomali nei dati.

Vantaggi della pre-elaborazione dei dati per il machine learning

La pre-elaborazione dei dati per il machine learning offre molti vantaggi, che sono gli stessi della fase di pre-elaborazione dei dati. Diamo un'occhiata. 

1. Pulizia dei dati

La pulizia dei dati è una parte essenziale della pipeline di pre-elaborazione dei dati nel machine learning. Prevede l'identificazione e la correzione di errori o incoerenze nel set di dati per garantire che i dati siano di alta qualità e adatti per l'analisi o l'addestramento dei modelli. 

La pulizia dei dati in genere include:

Gestione dei valori mancanti

I valori mancanti sono un problema comune nei dataset del mondo reale e possono influire negativamente sulle performance dei modelli ML. Per identificare e gestire i valori mancanti:

  • Utilizza statistiche o visualizzazioni descrittive per identificare colonne/funzioni con valori mancanti. Gli indicatori comuni dei valori mancanti includono i valori NaN (non un numero) o NULL.
  • Determina l'impatto dei valori mancanti sull'analisi o sul modello. Considera la percentuale di valori mancanti in ogni colonna e la loro importanza per il set di dati complessivo.
  • Se la percentuale di valori mancanti è piccola e le righe o le colonne non sono critiche, è possibile rimuoverle utilizzando metodi come dropna() in panda o funzioni simili in altri strumenti.
  • Per le funzioni numeriche, è possibile imputare i valori mancanti utilizzando tecniche come il metodo di imputazione media, mediana o modalità (fillna() in panda). Per le funzionalità categoriche, è possibile imputare la categoria più frequente.

Puoi anche considerare metodi di imputazione più avanzati come l'imputazione di regressione, l'imputazione dei vicini più vicini o l'uso di modelli ML per prevedere i valori mancanti in base ad altre funzionalità.

Gestione degli outlier

Gli outlier sono data point che differiscono in modo significativo da altre osservazioni nel dataset e possono alterare l'analisi statistica o i modelli di machine learning. 

Per rilevare e gestire le anomalie:

  • Usa diagrammi a scatola, istogrammi o diagrammi a dispersione per visualizzare la distribuzione delle caratteristiche numeriche e identificare visivamente potenziali outlier.
  • Calcola statistiche riepilogative come media, deviazione standard, quartili e intervallo interquartile (IQR). Gli outlier sono spesso definiti come data point che ricadono al di sotto di Q1 - 1,5 * IQR o al di sopra di Q3 + 1,5 * IQR.
  • In alcuni casi, la rimozione delle anomalie può essere appropriata, soprattutto se sono dovute a errori o anomalie nell'inserimento dei dati. Usa tecniche di filtraggio basate su soglie statistiche per rimuovere gli outlier.
  • Applica trasformazioni come la trasformazione dei log, la trasformazione della radice quadrata o la trasformazione Box-Cox per rendere i dati più distribuiti normalmente e ridurre l'impatto degli outlier.
  • Considera l'utilizzo di solidi modelli di machine learning meno sensibili agli outlier, come le macchine vettoriali di supporto (SVM), le foreste casuali o i metodi di assemblaggio.

Gestione dei duplicati

I record duplicati possono alterare l'analisi e l'addestramento dei modelli gonfiando determinati schemi o pregiudizi. 

Per rilevare e gestire i duplicati:

  • Usa funzioni come duplicate() nei panda per identificare le righe duplicate in base a colonne specifiche o all'intera riga.
  • Se i record duplicati sono ridondanti e non forniscono ulteriori informazioni, è possibile rimuoverli utilizzando la funzione drop_duplicates() in panda o metodi simili in altri strumenti.
  • In alcuni casi, i duplicati possono verificarsi a causa di più voci, ma hanno identificatori univoci. Assicurati di conservare identificatori univoci o colonne chiave che differenziano i record duplicati.

Seguendo questi passaggi e utilizzando tecniche appropriate, puoi pulire ed elaborare i dati in modo efficace per le attività di machine learning, migliorando la qualità e l'affidabilità delle previsioni dei tuoi modelli.

2. Normalizzazione dei dati

La normalizzazione è una tecnica di pre-elaborazione dei dati utilizzata per scalare e standardizzare i valori delle funzionalità all'interno di un dataset. L'obiettivo principale della normalizzazione è quello di portare tutti i valori delle funzionalità in un intervallo simile senza distorcere le differenze negli intervalli di valori. Questo è importante perché molti algoritmi di machine learning funzionano meglio o convergono più velocemente quando le funzionalità di input sono su una scala simile e hanno una distribuzione simile.

I vantaggi della normalizzazione includono:

  • Impedisce alle funzionalità su larga scala di dominare quelle più piccole durante l'addestramento dei modelli. 
  • Algoritmi come la discesa a gradiente convergono più velocemente quando le funzionalità vengono normalizzate, con tempi di addestramento più brevi. 
  • Riduzione dell'impatto degli outlier portando tutti i valori all'interno di un intervallo delimitato. I dati normalizzati possono essere più facili da interpretare e confrontare tra le diverse funzionalità.

Tecniche di normalizzazione

Scalabilità min-max 

  • Formula:Xnorm =Xmax −Xmin /Xmax −Xmin
  • Gamma: Trasforma i valori in un intervallo compreso tra 0 e 1.

 

Esempio:

Z-score Normalization (Standardizzazione):

  • Formula: Xstd =σX/μ
  • Gamma: Trasforma i valori in modo da avere una media di 0 e una deviazione standard di 1.

 

Esempio:

Linee guida per l'applicazione della normalizzazione

Scalabilità min-max: La scalabilità Min-max è adatta agli algoritmi che richiedono funzionalità di input che rientrino in un intervallo specifico, come le reti neurali e le macchine vettoriali di supporto. Assicurarsi che gli outlier siano gestiti in modo appropriato, in quanto possono influire sulla scalabilità.

Normalizzazione del punteggio Z: È adatto ad algoritmi come il k-means clustering, la regressione lineare e la regressione logistica. Si traduce in una distribuzione centrata intorno a 0 con una deviazione standard di 1, che la rende ideale per gli algoritmi che presuppongono dati distribuiti normalmente.

Dati sparsi: Per i set di dati sparsi (dove la maggior parte dei valori è pari a zero), è consigliabile utilizzare tecniche come MaxAbsScaler o RobustScaler per la normalizzazione.

Dati categorici: Per le funzionalità categoriche, considera tecniche come la codifica one-hot prima della normalizzazione per garantire una scalabilità significativa.

È importante notare che la scelta della tecnica di normalizzazione dipende dalle caratteristiche specifiche dei dati e dai requisiti dell'algoritmo di machine learning che si intende utilizzare. La sperimentazione e la comprensione dell'impatto sulle performance dei modelli sono aspetti chiave per applicare la normalizzazione in modo efficace.

3. Scalabilità delle funzionalità

La scalabilità delle funzionalità è una tecnica di pre-elaborazione dei dati utilizzata per standardizzare la gamma di variabili o funzionalità indipendenti di un dataset. L'obiettivo della scalabilità delle funzionalità è quello di portare tutte le funzionalità su una scala o un intervallo simile per evitare che una caratteristica prevalga su altre durante l'addestramento o l'analisi dei modelli. La scalabilità delle funzionalità può migliorare la velocità di convergenza degli algoritmi di ottimizzazione ed evitare che determinate funzionalità abbiano un'influenza indebita sul modello.

Ruolo della scalabilità delle funzionalità nella pre-elaborazione dei dati

Le funzionalità di scalabilità garantiscono che gli algoritmi ML trattino tutte le funzionalità allo stesso modo, evitando distorsioni verso le funzionalità con scale più grandi. Inoltre, migliora le convergenze, poiché molti algoritmi di ottimizzazione (ad esempio, la discesa a gradiente) convergono più velocemente quando le funzionalità vengono scalate, portando a un addestramento più rapido dei modelli. Può anche prevenire problemi di instabilità numerica che possono insorgere a causa di grandi differenze di grandezza delle funzionalità. Infine, la scalabilità può semplificare l'interpretazione dell'impatto delle funzionalità sulle previsioni del modello.

Metodi di scalabilità delle funzionalità

Oltre alla scala min-max e alla normalizzazione del punteggio Z descritte sopra, sono disponibili anche:

MaxAbsScaler: In questo modo ogni caratteristica viene scalata in base al suo valore assoluto massimo, quindi i valori risultanti variano tra -1 e 1. È adatto per i dati sparsi in cui è importante preservare zero voci, come nella classificazione del testo o nei sistemi di raccomandazione.

Scalabilità solida: Questo utilizza statistiche solide per gli outlier, come la mediana e l'intervallo interquartile (IQR), per scalare le funzionalità. È adatto per dataset contenenti outlier o distribuzioni alterate.

Linee guida per l'applicazione della scalabilità delle funzionalità

Per applicare la scalabilità delle funzionalità:

  • Applicare la standardizzazione (normalizzazione del punteggio Z) quando i dati seguono una distribuzione normale o quando utilizzano algoritmi come la regressione lineare, la regressione logistica o il k-means clustering.
  • Applica la normalizzazione (scala min-max) quando hai bisogno che i dati rientrino in un intervallo specifico, come le reti neurali o le macchine vettoriali di supporto.
  • Usa MaxAbsScaler per gestire dati sparsi, come i dati di testo o le funzionalità sparse ad alta dimensione.
  • Usa RobustScaler per gestire dataset contenenti outlier o funzionalità distribuite in modo non normale.

Tieni presente che le funzionalità categoriche possono richiedere la codifica (ad esempio, la codifica one-hot) prima di applicare la scalabilità delle funzionalità, specialmente se sono nominali (categorie non ordinate).

4. Gestione dei dati categorici

Le variabili categoriche rappresentano gruppi o categorie e sono spesso di natura non numerica, ponendo sfide durante l'addestramento dei modelli, tra cui:

  • Rappresentazione non numerica: Le variabili categoriche sono in genere rappresentate utilizzando stringhe o etichette, che la maggior parte degli algoritmi di machine learning non è in grado di elaborare direttamente. Gli algoritmi richiedono input numerici per l'addestramento e le previsioni.
  • Variabili normali e nominali: Le variabili categoriche possono essere ordinali (con un ordine significativo) o nominali (senza un ordine specifico). Trattare le variabili ordinali come nominali o viceversa può portare a interpretazioni errate dei modelli o a previsioni distorte.
  • Maledizione della dimensionalità: La codifica one-hot, una tecnica comune per la gestione dei dati categorici, può portare a un aumento della dimensionalità del set di dati, specialmente con un elevato numero di categorie univoche. Ciò può influire sulle performance del modello e aumentare la complessità computazionale.

Tecniche di codifica delle variabili categoriche

Le tecniche di codifica delle variabili categoriche includono:

Codifica delle etichette: La codifica delle etichette assegna un'etichetta numerica univoca a ciascuna categoria in una variabile categorica. È adatto per le variabili ordinali in cui esiste un ordine significativo tra le categorie.

Ecco un esempio di utilizzo dello scikit-learn di Python:

da sklearn.preprocessing import LabelEncoder

le = LabelEncoder()

coded_labels = le.fit_transform(['cat', 'cane', 'coniglio', 'cane'])

Codifica one-hot: La codifica one-hot crea colonne binarie per ogni categoria in una variabile categorica, in cui ogni colonna indica la presenza o l'assenza di tale categoria. È adatto per le variabili nominali senza un ordine specifico tra le categorie.

Ecco un esempio di panda:

importare panda come pd

df = pd.DataFrame({'category': ['A', 'B', 'C', 'A']})

one_hot_encoded = pd.get_dummies(df['category'], prefisso='category')

Codifica fittizia: La codifica fittizia è simile alla codifica one-hot, ma elimina una delle colonne binarie per evitare problemi di multicollinearità nei modelli lineari. È comunemente utilizzato nei modelli di regressione in cui una categoria funge da categoria di riferimento.

Ecco un esempio di panda:

dummy_encoded = pd.get_dummies(df['category'], prefisso='category', drop_first=True)

Linee guida per la gestione dei dati categorici

Per gestire correttamente i dati categorici, è necessario:

Comprendere i tipi di variabili: Determinare se le variabili categoriche sono ordinali o nominali per scegliere la tecnica di codifica appropriata.

Evitare interpretazioni errate ordinali: Prestare attenzione quando si utilizza la codifica delle etichette per le variabili nominali, in quanto può introdurre ordinalità involontaria nei dati.

Affronta l'alta cardinalità: Per le variabili categoriche con un elevato numero di categorie univoche, considerare tecniche come la codifica della frequenza, la codifica della destinazione o le tecniche di riduzione della dimensionalità come PCA.

Tutto questo si aggiunge alla già citata gestione dei valori mancanti e alla normalizzazione dei dati numerici. 

5. Gestione dei dati sbilanciati

Gestire i dati sbilanciati è una sfida comune nel machine learning, specialmente nelle attività di classificazione in cui il numero di istanze in una classe (classe di minoranza) è significativamente inferiore rispetto alle altre classi (classi di maggioranza). I dati sbilanciati possono avere un impatto profondo sull'addestramento e sulla valutazione dei modelli, portando a modelli disorientati che favoriscono la maggioranza e offrono performance scarse sulle classi di minoranza. 

Ecco alcuni punti chiave relativi ai dati sbilanciati e alle tecniche di gestione:

Impatto dei dati sbilanciati sulle performance dei modelli

I modelli formati su dati sbilanciati tendono a dare priorità alla precisione nella classe di maggioranza, trascurando al contempo la classe di minoranza. Ciò può portare a performance scadenti per le previsioni di minoranze. Inoltre, metriche come l'accuratezza possono essere fuorvianti nei dataset sbilanciati, poiché una precisione elevata può derivare dalla previsione corretta della classe di maggioranza, ignorando al contempo la classe di minoranza. Le metriche di valutazione come precisione, richiamo, F1-score e area sotto la curva ROC (AUC-ROC) sono più informative per i dataset sbilanciati rispetto alla sola precisione.

Tecniche di gestione dei dati sbilanciati

Le tecniche più comuni per la gestione dei dati sbilanciati sono l'oversampling e l'undersampling. L'ipercampionamento implica l'aumento del numero di istanze nella classe di minoranza per bilanciarlo con la classe di maggioranza. Il sottocampionamento comporta la riduzione del numero di istanze nella classe di maggioranza per bilanciarle con la classe di minoranza. Puoi anche adottare un approccio ibrido combinando il sovracampionamento e il sottocampionamento.

È inoltre disponibile una ponderazione della classe, in cui si regolano i pesi della classe durante l'addestramento dei modelli per penalizzare gli errori nella classe di minoranza piuttosto che gli errori nella classe di maggioranza. Ciò è utile solo per gli algoritmi che supportano la ponderazione delle classi, come la regressione logistica o il supporto delle macchine vettoriali.

Linee guida per la gestione dei dati sbilanciati

Per gestire i dati sbilanciati, è necessario:

Comprendere la distribuzione dei dati: Analizzare la distribuzione delle classi nel dataset per determinare la gravità dello squilibrio.

Scegliere la tecnica appropriata: Seleziona la tecnica di sovracampionamento, sottocampionamento o ibrida in base alle dimensioni del set di dati, al rapporto di squilibrio e alle risorse computazionali.

Valuta le metriche: Utilizza metriche di valutazione appropriate come precisione, richiamo, F1-score o curva AUC-ROC per valutare le performance del modello su entrambe le classi.

Convalida incrociata: Applicare tecniche all'interno di fold di convalida incrociata per evitare la perdita di dati e ottenere stime affidabili delle performance del modello.

Conclusione

La pre-elaborazione dei dati aiuta a garantire che i modelli ML siano formati su dati di alta qualità e adeguatamente formattati, il che influisce direttamente sulle performance, sulla precisione e sulla capacità di generalizzazione del modello. Risolvendo problemi come valori mancanti, outlier, variabili categoriche e squilibri di classe, la pre-elaborazione dei dati consente ai modelli di fare previsioni più informate e accurate, portando a un migliore processo decisionale nelle applicazioni del mondo reale.

Grazie a una corretta pre-elaborazione dei dati, i professionisti del ML possono liberare tutto il potenziale dei propri dati e creare modelli predittivi più precisi e affidabili per varie applicazioni tra domini.

Tuttavia, per farlo realmente nel mondo reale, devi prima disporre di una soluzione di data storage flessibile come Pure Storage che ti aiuti ad accelerare l'AI e il machine learning e ad andare avanti con le tue iniziative di AI aziendale.

Potrebbe interessarti anche...

03/2026
The Enterprise AI Guidebook
From data sovereignty to ai factories, discover the hidden challenges of scaling AI and how to overcome them.
eBook
7 pages

Esplora risorse ed eventi principali

TRADESHOW
Pure//Accelerate® 2026
June 16-18, 2026 | Resorts World Las Vegas

Preparati all'evento più importante a cui parteciperai quest'anno.

Registrati ora
DEMO DI PURE360
Esplora, scopri e prova Pure Storage.

Accedi a video e demo on demand per scoprire i vantaggi che Pure Storage ti offre.

Guarda le demo
VIDEO
Guarda: Il valore di un Enterprise Data Cloud (EDC).

Charlie Giancarlo spiega perché il futuro è nella gestione dei dati, non dello storage. Scopri in che modo un approccio unificato trasforma le operazioni IT aziendali.

Guarda
RISORSA
Lo storage legacy non può alimentare il futuro.

I workload moderni richiedono velocità, sicurezza e scalabilità AI-ready. Il tuo stack è pronto?

Effettua la valutazione
Il browser che stai usando non è più supportato.

I browser non aggiornati spesso comportano rischi per la sicurezza. Per offrirti la migliore esperienza possibile sul nostro sito, ti invitiamo ad aggiornare il browser alla versione più recente.

Personalize for Me
Steps Complete!
1
2
3
Personalize your Everpure experience
Select a challenge, or skip and build your own use case.
Strategie di virtualizzazione pronte per affrontare il futuro

Soluzioni di storage per tutte le tue esigenze

Consenti progetti di AI di qualunque dimensione

Storage a performance elevate per pipeline dei dati, formazione e inferenza

Proteggiti dalla perdita dei dati

Soluzioni di resilienza informatica che proteggono i tuoi dati

Riduci i costi delle operazioni su cloud

Storage efficiente dal punto di vista dei costi per Azure, AWS e private cloud

Accelera le performance di applicazioni e database

Storage a bassa latenza per le performance delle applicazioni

Riduci il consumo di energia e di ingombro del data center

Storage efficiente delle risorse per ottimizzare l'utilizzo dei data center

Confirm your outcome priorities
Your scenario prioritizes the selected outcomes. You can modify or choose next to confirm.
Primary
Reduce My Storage Costs
Lower hardware and operational spend.
Primary
Strengthen Cyber Resilience
Detect, protect against, and recover from ransomware.
Primary
Simplify Governance and Compliance
Easy-to-use policy rules, settings, and templates.
Primary
Deliver Workflow Automation
Eliminate error-prone manual tasks.
Primary
Use Less Power and Space
Smaller footprint, lower power consumption.
Primary
Boost Performance and Scale
Predictability and low latency at any size.
What’s your role and industry?
We've inferred your role based on your scenario. Modify or confirm and select your industry.
Select your industry
Financial services
Government
Healthcare
Education
Telecommunications
Automotive
Hyperscaler
Electronic design automation
Retail
Service provider
Transportation
Which team are you on?
Technical leadership team
Defines the strategy and the decision making process
Infrastructure and Ops team
Manages IT infrastructure operations and the technical evaluations
Business leadership team
Responsible for achieving business outcomes
Security team
Owns the policies for security, incident management, and recovery
Application team
Owns the business applications and application SLAs
Describe your ideal environment
Tell us about your infrastructure and workload needs. We chose a few based on your scenario.
Select your preferred deployment
Hosted
Dedicated off-prem
On-prem
Your data center + edge
Public cloud
Public cloud only
Hybrid
Mix of on-prem and cloud
Select the workloads you need
Databases
Oracle, SQL Server, SAP HANA, open-source

Key benefits:

  • Instant, space-efficient snapshots

  • Near-zero-RPO protection and rapid restore

  • Consistent, low-latency performance

 

AI/ML and analytics
Training, inference, data lakes, HPC

Key benefits:

  • Predictable throughput for faster training and ingest

  • One data layer for pipelines from ingest to serve

  • Optimized GPU utilization and scale
Data protection and recovery
Backups, disaster recovery, and ransomware-safe restore

Key benefits:

  • Immutable snapshots and isolated recovery points

  • Clean, rapid restore with SafeMode™

  • Detection and policy-driven response

 

Containers and Kubernetes
Kubernetes, containers, microservices

Key benefits:

  • Reliable, persistent volumes for stateful apps

  • Fast, space-efficient clones for CI/CD

  • Multi-cloud portability and consistent ops
Cloud
AWS, Azure

Key benefits:

  • Consistent data services across clouds

  • Simple mobility for apps and datasets

  • Flexible, pay-as-you-use economics

 

Virtualization
VMs, vSphere, VCF, vSAN replacement

Key benefits:

  • Higher VM density with predictable latency

  • Non-disruptive, always-on upgrades

  • Fast ransomware recovery with SafeMode™

 

Data storage
Block, file, and object

Key benefits:

  • Consolidate workloads on one platform

  • Unified services, policy, and governance

  • Eliminate silos and redundant copies

 

What other vendors are you considering or using?
Thinking...
Your personalized, guided path
Get started with resources based on your selections.