Finora, abbiamo avuto l'impressione che un modello agisca direttamente righe di un set di dati; tuttavia, i modelli importano i dati in modo leggermente diverso.
Ad esempio, supponiamo che un set di dati fornisca cinque colonne, ma solo due di queste
Le colonne (b
e d
) sono caratteristiche del modello. Durante l'elaborazione
nell'esempio nella riga 3, il modello recupera semplicemente i contenuti
evidenziate due celle (3b e 3d) come segue?
Infatti, il modello importa un array di valori in virgola mobile chiamato vettore di caratteristiche. Puoi pensare di un vettore di caratteristiche come valori in virgola mobile di un esempio.
Tuttavia, i vettori di caratteristiche raramente usano i valori non elaborati del set di dati. Solitamente devi elaborare i valori del set di dati in rappresentazioni da cui il modello può apprendere meglio. Quindi, una versione più realistica il vettore di caratteristiche potrebbe avere un aspetto simile al seguente:
Un modello non produrrebbe previsioni migliori eseguendo l'addestramento valori effettivi nel set di dati rispetto ai valori alterati? Sorprendentemente, la risposta è no.
Devi determinare il modo migliore per rappresentare i valori dei set di dati non elaborati come addestrabili nel vettore di caratteristiche. Questo processo è chiamato feature engineering, ed è una parte vitale del machine learning. Le tecniche di feature engineering più comuni sono:
- Normalizzazione: conversione in corso i valori numerici in un intervallo standard.
- Binning (chiamato anche bucketing): conversione dei valori numerici in bucket di intervalli.
Questa unità tratta la normalizzazione e il binning. Nella prossima unità, Lavorare con i dati categorici, copre altre forme di pre-elaborazione, come Convertire i dati non numerici, come le stringhe, in valori con rappresentazione in virgola mobile.
Ogni valore in un vettore di caratteristiche deve essere un valore in virgola mobile. Tuttavia, molti sono stringhe naturali o altri valori non numerici. Di conseguenza, gran parte del feature engineering rappresenta valori non numerici, valori numerici. Ne parleremo in molti casi nei moduli successivi.