Preelaborazione dei dati nel data mining: passaggi, attribuzione del valore mancante, standardizzazione dei dati
Pubblicato: 2020-12-30La parte più dispendiosa in termini di tempo del lavoro di un Data Scientist è preparare e preelaborare i dati a portata di mano. I dati che otteniamo negli scenari di vita reale non sono puliti e adatti alla modellazione. I dati devono essere puliti, portati in un determinato formato e trasformati prima di essere inseriti nei modelli di Machine Learning.
Alla fine di questo tutorial, saprai quanto segue
- Perché la preelaborazione dei dati
- Pulizia dei dati
- Assegnazione del valore mancante
- Standardizzazione dei dati
- Discretizzazione
Sommario
Perché il pretrattamento dei dati?
Quando i dati vengono recuperati eliminando i siti Web e raccogliendoli da altre fonti di dati, sono generalmente pieni di discrepanze. Possono essere problemi di formattazione, valori mancanti, valori e testo inutili e persino errori nei dati. È necessario eseguire diversi passaggi di preelaborazione per assicurarsi che i dati inviati al modello siano all'altezza del livello in modo che il modello possa apprendere e generalizzare su di esso.
Pulizia dei dati
Il primo e più essenziale passo è pulire le irregolarità nei dati. Senza fare questo passaggio, non possiamo dare molto senso alle statistiche dei dati. Questi possono essere problemi di formattazione, valori inutili e valori anomali.
Problemi di formattazione
Abbiamo bisogno che i dati siano in un formato tabulare la maggior parte delle volte, ma non è il caso. I dati potrebbero avere nomi di colonna mancanti o errati, colonne vuote. Inoltre, quando si tratta di dati non strutturati come immagini e testo, diventa estremamente essenziale caricare i dati 2D o 3D in Dataframe per la modellazione.
Valori spazzatura
Molte istanze o colonne complete potrebbero avere determinati valori inutili aggiunti al valore effettivo richiesto. Ad esempio, considera una colonna "rank" che ha valori come: "#1", "#3", "#12", "#2" ecc. Ora, è importante rimuovere tutti i "#" precedenti caratteri per poter inviare il valore numerico al modello.
Valori anomali
Molte volte determinati valori numerici sono troppo grandi o troppo bassi rispetto al valore medio della colonna specifica. Questi sono considerati valori anomali. I valori anomali necessitano di un trattamento speciale e sono un fattore sensibile da trattare. Questi valori anomali potrebbero essere errori di misurazione o potrebbero essere anche valori reali. Devono essere rimossi completamente o gestiti separatamente poiché potrebbero contenere molte informazioni importanti.
Valori mancanti
È raro che i tuoi dati contengano tutti i valori per ogni istanza. Molti valori sono mancanti o riempiti con voci inutili. Questi valori mancanti devono essere trattati. Questi valori possono avere diversi motivi per cui potrebbero mancare. Potrebbero mancare per qualche motivo come un errore del sensore o altri fattori, oppure possono anche mancare completamente a caso.
Leggi: Progetti di data mining in India
Cadendo
Il modo più semplice e diretto consiste nell'eliminare le righe in cui mancano i valori. Fare questo ha molti svantaggi come la perdita di informazioni cruciali. Potrebbe essere un buon passo per eliminare i valori mancanti quando la quantità di dati che hai è enorme. Ma se i dati sono inferiori e ci sono molti valori mancanti, hai bisogno di modi migliori per affrontare questo problema.
Imputazione media/mediana/modalità
Il modo più rapido per imputare i valori mancanti consiste semplicemente nell'imputare il valore medio della colonna. Tuttavia, presenta degli svantaggi perché disturba la distribuzione originale dei dati. Puoi anche imputare il valore mediano o il valore modale che è generalmente migliore della media semplice.
Interpolazione lineare e KNN
È anche possibile utilizzare metodi più intelligenti per imputare i valori mancanti. 2 delle quali sono Interpolazioni lineari che utilizzano più modelli trattando la colonna con valori vuoti come caratteristica da prevedere. Un altro modo è utilizzare il clustering di KNN. KNN crea gruppi di valori in una particolare funzione e quindi assegna il valore più vicino al cluster.
Standardizzazione dei dati
In un set di dati con più funzioni numeriche, tutte le funzioni potrebbero non essere sulla stessa scala. Ad esempio, una funzione "Distanza" ha distanze in metri come 1300, 800, 560, ecc. E un'altra funzione "tempo" ha tempi in ore come 1, 2,5, 3,2, 0,8, ecc. Quindi, quando queste due funzioni vengono alimentati al modello, considera l'elemento con distanze maggiore peso in quanto i suoi valori sono grandi. Per evitare questo scenario e avere una convergenza più rapida, è necessario portare tutte le funzionalità sulla stessa scala.

Normalizzazione
Un modo comune per ridimensionare le funzionalità è normalizzarle. Può essere implementato usando il Normalizer di Scikit-learn. Funziona non sulle colonne, ma sulle righe. La normalizzazione L2 viene applicata a ciascuna osservazione in modo che i valori in una riga abbiano una norma unitaria dopo il ridimensionamento.
Ridimensionamento minimo massimo
Il ridimensionamento Min Max può essere implementato utilizzando la classe Min MaxScaler di Scikit-learn. Sottrae il valore minimo delle caratteristiche e quindi divide per l'intervallo, dove l'intervallo è la differenza tra il massimo originale e il minimo originale. Mantiene la forma della distribuzione originale, con un intervallo predefinito tra 0-1.
Ridimensionamento standard
Standard Scaler può anche essere implementato usando la classe di Scikit-learn. Standardizza una caratteristica sottraendo la media e quindi ridimensionandola alla varianza unitaria, dove varianza unitaria significa dividere tutti i valori per la deviazione standard. Rende la media della distribuzione 0 e la deviazione standard come 1.
Discretizzazione
Molte volte i dati non sono in forma numerica invece che in forma categoriale. Ad esempio, si consideri una caratteristica "temperatura" con valori come "Alta", "Bassa", "Media". Questi valori testuali devono essere codificati in forma numerica per consentire al modello di allenarsi.
Dati categoriali
I dati categoriali sono codificati in etichetta per portarli in forma numerica. Quindi "Alto", "Medio" e "Basso" possono essere codificati per etichette in 3,2 e 1. Le caratteristiche categoriali possono essere nominali o ordinali. Le caratteristiche categoriali ordinali sono quelle che hanno un certo ordine. Ad esempio, nel caso sopra, possiamo dire che 3>2>1 in quanto le temperature possono essere misurate/quantificate.
Tuttavia, in un esempio in cui una caratteristica di "Città" che ha valori come "Delhi", "Jammu" e "Agra", non può essere misurata. In altre parole, quando li etichettiamo codificandoli come 3, 2, 1, non possiamo dire che 3>2>1 perché “Delhi” > “Jammu” non avrà molto senso. In questi casi, utilizziamo One Hot Encoding.
Dati continui
Le funzioni con valori continui possono anche essere discretizzate raggruppando i valori in contenitori di intervalli specifici. Binning significa convertire una caratteristica numerica o continua in un insieme discreto di valori, basato sugli intervalli dei valori continui. Questo è utile quando vuoi vedere le tendenze in base all'intervallo in cui si trova il punto dati.
Ad esempio, supponiamo di avere voti per 7 bambini che vanno da 0 a 100. Ora possiamo assegnare i voti di ogni bambino a un particolare "cestino". Ora possiamo dividere in 3 bin con intervalli da 0 a 50, 51-70 e 71-100 appartenenti rispettivamente ai bin 1,2 e 3. Pertanto, la funzione ora conterrà solo uno di questi 3 valori. Pandas offre 2 funzioni per ottenere rapidamente il binning: qcut e cut.
Pandas qcut prende il numero di quantili e divide i punti dati in ciascun bin in base alla distribuzione dei dati.
Il taglio Panda, d'altra parte, prende gli intervalli personalizzati definiti da noi e divide i punti dati in quegli intervalli.
Lettura correlata: Preelaborazione dei dati in Machine Learning
Impara i corsi di scienza dei dati dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.
Conclusione
La preelaborazione dei dati è un passaggio essenziale in qualsiasi attività di data mining e machine learning. Tutti i passaggi che abbiamo discusso non sono certamente tutti, ma coprono la maggior parte della parte di base del processo. Le tecniche di preelaborazione dei dati sono diverse anche per i dati NLP e Immagine. Assicurati di provare esempi dei passaggi precedenti e implementali nella tua pipeline di data mining.
Se sei curioso di conoscere la scienza dei dati, dai un'occhiata al Diploma PG in Data Science di IIIT-B e upGrad, creato per i professionisti che lavorano e offre oltre 10 casi di studio e progetti, workshop pratici pratici, tutoraggio con esperti del settore, 1- on-1 con mentori del settore, oltre 400 ore di apprendimento e assistenza al lavoro con le migliori aziende.
Che cos'è il pretrattamento dei dati e qual è il suo significato?
Questa è una tecnica per fornire i dati grezzi non strutturati che sono sotto forma di immagini, testo, video. Questi dati vengono prima preelaborati per rimuovere incoerenze, errori e ridondanze in modo che possano essere analizzati in seguito.
I dati grezzi vengono trasformati in dati rilevanti che possono essere compresi dalle macchine. La preelaborazione dei dati è un passaggio importante per trasformare i dati per la modellazione. Senza elaborazione, è praticamente inutile.
Quali sono i passaggi coinvolti nella preelaborazione dei dati?
La preelaborazione dei dati prevede vari passaggi per completare l'intero processo. I dati vengono prima puliti per rimuovere i disturbi e riempire i valori mancanti. Successivamente, i dati vengono integrati da più origini per essere combinati in un unico set di dati. Questi passaggi sono quindi seguiti da trasformazione, riduzione e discretizzazione.
La trasformazione dei dati grezzi comporta la normalizzazione dei dati. La riduzione e la discretizzazione riguardano sostanzialmente la riduzione degli attributi e delle dimensioni dei dati. Questo è seguito dalla compressione di questo ampio set di dati.
Qual è la differenza tra metodi univariati e multivariati?
Il metodo univariato è il metodo più semplice per gestire un valore anomalo. Non fornisce una panoramica di alcuna relazione poiché è una singola variabile e il suo scopo principale è analizzare i dati e determinare il modello ad essi associato. Media, mediana e moda sono esempi di modelli trovati nei dati univariati.
D'altra parte, il metodo multivariato serve per analizzare tre o più variabili. È più preciso del metodo precedente poiché, a differenza del metodo univariato, il metodo multivariato si occupa di relazioni e modelli. L'albero additivo, l'analisi della correlazione canonica e l'analisi dei cluster sono alcuni dei modi per eseguire l'analisi multivariata.
