Ingegneria automatica delle funzioni
Con l'ingegneria automatica delle funzioni, Qlik AutoML può utilizzare le funzioni esistenti dei dati di training per creare nuove funzioni. Queste nuove funzioni progettate automaticamente consentono di scoprire nuovi modelli nei dati a disposizione e possono migliorare enormemente le prestazioni dei modelli di machine learning.
L'ingegneria delle funzioni è il processo di creazione di nuove colonne di funzionalità a partire da quelle attuali. AutoML consente di eseguire l'ingegneria delle funzioni in modo automatico, per una gestione ottimizzata di determinati tipi di dati. Per informazioni generali sull'ingegneria delle funzionalità, vedere Creazione di nuove colonne di funzioni.
Le funzioni create con ingegneria automatica, oltre a quelle padre da sono derivate, vengono contrassegnate con l'icona .
Una volta selezionato un set di dati per l'utilizzo nell'esperimento, questo viene analizzato per stabilire il tipo di informazioni incluse nelle colonne in esso contenute. Questi tipi di dati consentono ad AutoML di assegnare il tipo di funzione a ciascuna colonna nel set di dati. A ogni colonna viene assegnato uno dei seguenti tipi di funzionalità:
-
Categorico
-
Numerico
-
Data
-
Testo libero
Quando possibile, AutoML visualizza un elenco di funzionalità progettate automaticamente che è possibile creare da funzionalità padre idonee. L'elenco di funzionalità progettate automatiche viene affinato e ridotto ulteriormente una volta che inizia il processo di pre-elaborazione. L'inclusione delle funzionalità progettate automaticamente nell'esperimento è consigliata ma è facoltativa. È possibile rimuovere funzionalità individuali progettate automaticamente prima di iniziare il training e durante la configurazione di ogni nuova versione dell'esperimento.
Per maggiori informazioni sui processi completati prima che inizi il training dell'esperimento, vedi Preparazione e trasformazione automatica dei dati.
Ingegneria delle funzionalità data
AutoML genera funzionalità progettate automaticamente da colonne idonee con il tipo di funzione data, che si è stabilito che contengono informazioni relative a data e ora. Le funzioni create con ingegneria automatica, oltre a quelle padre da sono derivate, vengono contrassegnate con l'icona .
Quando Qlik Cloud Analytics esegue la profilatura del training set selezionato per l'utilizzo in AutoML, collega determinati tipi di dati al tipo di funzione data. Sono inclusi i seguenti tipi di dati:
-
Data
-
Datetime
-
Ora
-
Data e ora
Alle funzionalità a cui viene assegnato qualsiasi di questi tipi di dati durante la profilatura viene fornito il tipo di funzionalità data. Per informazioni sulle statistiche di profilatura disponibili che è possibile visualizzare per questi campi di dati, vedere Profile List view (Vista elenco profilo).
Quando possibile, AutoML visualizza un elenco di funzionalità data progettate automaticamente che è possibile creare da funzionalità padre idonee che dispongono del tipo di funzionalità data. Le funzionalità data progettate automaticamente sono incluse nell'esperimento per impostazione predefinita. Se si sceglie di includerle, le nuove funzionalità vengono generate dopo la versione v1 dell'esperimento.
Alle funzionalità data progettate automaticamente è assegnato il tipo di funzionalità numerico. Queste vengono incluse nell'esperimento per impostazione predefinita, ma sono facoltative. È possibile rimuoverne alcune o rimuoverle tutte prima di iniziare il training dell'esperimento, oppure durante la configurazione della versione successiva dell'esperimento. Se le funzionalità data progettate automaticamente sono incluse, la funzionalità data padre originale viene rimossa dall'esperimento.
È possibile invece includere nell'esperimento la funzionalità data padre. Quando si sceglie questa opzione, il tipo di funzionalità della funzionalità padre viene modificato da data a categorico, mentre le funzionalità data progettate automaticamente non sono più utilizzabili. Per l'esperimento, si consiglia di utilizzare le funzionalità progettate automaticamente, poiché forniscono prestazioni migliorate ai modelli di machine learning.
Le funzionalità data progettate automaticamente non vengono conteggiate ai fini del calcolo delle dimensioni del set di dati AutoML (il numero massimo di celle viene conteggiato per il training set e i set di dati di applicazione) specificate nella sottoscrizione a Qlik Cloud. Vengono conteggiate unicamente le celle della colonna data originale.
L'utilizzo delle funzionalità data come destinazione dell'esperimento
Nei rari casi in cui si desideri utilizzare una funzionalità con informazioni relative a data e ora come destinazione dell'esperimento, il tipo di funzionalità della colonna verrà modificato da data a categorico, mentre le funzionalità progettate automaticamente verranno rimosse. Se si seleziona un'altra destinazione e successivamente si vuole aggiungere la funzionalità data e ora come una funzione regolare, è necessario cambiare manualmente il tipo di funzione a data, se necessario. Se si cambia nuovamente il tipo di funzionalità a data, le funzionalità data progettate automaticamente vengono generate nuovamente.
Per maggiori informazioni sulla modifica dei tipi di funzionalità, vedere Modifica dei tipi di funzionalità.
Funzionalità data progettate automaticamente disponibili
Quando si generano funzionalità data progettate automaticamente da una colonna del set di dati, AutoML estrae e calcola i componenti specifici di ogni valore data e ora, isolando ogni componente in una colonna specifica. Nella tabella sottostante sono elencate le funzionalità progettate automaticamente che è possibile generare con AutoML.
Funzione progettata automaticamente | Tipo di dati | Tipo di funzionalità | Descrizione |
YEAR | Numero intero | Numerico | Il campo Anno analizzato direttamente dalla data o dal timestamp di origine. |
MONTH | Numero intero | Numerico | Il campo Mese analizzato direttamente dalla data o dal timestamp di origine. |
DAY | Numero intero | Numerico | Il campo Giorno analizzato direttamente dalla data o dal timestamp di origine. |
HOUR | Numero intero | Numerico | Il campo Ora analizzato direttamente dalla data o dal timestamp di origine. |
MINUTE | Numero intero | Numerico | Il campo Minuto analizzato direttamente dalla data o dal timestamp di origine. |
SECOND | Numero intero | Numerico | Il campo Secondo analizzato direttamente dalla data o dal timestamp di origine. |
DAYOFWEEK | Numero intero | Numerico | Giorno della settimana, calcolato dai dati giorno, mese e anno di origine. |
WEEK | Numero intero | Numerico | Settimana dell'anno, calcolato dai dati giorno, mese e anno di origine. |
Per ogni funzionalità creata, il nome della colonna originale è preceduto dalla funzionalità progettata automaticamente applicabile.
Funzionalità data progettate automaticamente nelle previsioni
Le funzionalità data progettate automaticamente vengono generate quando si utilizza il training set per creare un modello, che viene distribuito e utilizzato come una distribuzione di ML per realizzare previsioni per i nuovi dati (il set di dati di applicazione).
Quando un modello addestrato con le funzionalità data progettate automaticamente viene distribuito per realizzare previsioni, il set di dati di applicazione su cui di desidera generare le previsioni non deve includere le funzionalità data progettate automaticamente. AutoML generale funzionalità progettate automaticamente per il set di dati di applicazione prima della previsione. Tuttavia, il set di dati di applicazione deve includere la funzionalità data padre, mentre la colonna deve essere profilata come avente il tipo di dati Data, Data/Ora, Timestamp o Ora.
I set di dati di previsione creati da una distribuzione ML, inclusi i set di dati di applicazione e SHAP, includeranno le funzionalità data progettate automaticamente.
Funzionalità data progettate automaticamente nelle previsioni in tempo reale
Perché le API di previsione in tempo reale siano in grado di elaborare i campi data e timestamp, il payload JSON inviato all'API delle previsioni in tempo reale deve rispettare i seguenti requisiti:
-
I valori Data e Data/Ora devono essere stringhe formattate secondo gli standard ISO 8601
-
I dati contenuti in ogni colonna devono appartenere allo stesso fuso orario
Gestione dei dati di testo libero
Per essere precisi di utilità in un modello, il testo libero (per esempio i dati data delle stringhe di testo inseriti nei moduli) richiede l'elaborazione speciale delle tramite gli algoritmi di machine learning. In Qlik AutoML, l'elaborazione di testo libero è una modalità di ingegneria automatica delle funzioni. Dal punto di vista tecnico, l'elaborazione utilizza il metodo TF-IDF (frequenza dei termini - frequenza del documento inversa).
AutoML supporta l'elaborazione separata per le funzioni con dati di testo libero in inglese.
Se una colonna nei dati di training contiene del testo libero, gli viene assegnato il tipo di funzione testo libero. Può anche essere utilizzata come funzione categorica, sebbene sia fortemente sconsigliato se ha una cardinalità elevata (troppi valori univoci).
È possibile selezionare un massimo di tre colonne da utilizzare come funzioni di testo libero in un esperimento.
Requisiti per la codifica di testo libero
Per la codifica corretta come testo libero di una colonna contenente testo libero, deve soddisfare due requisiti. Questi requisiti vengono verificati a livelli differenti della creazione dell'esperimento.
I requisiti sono i seguenti:
-
La colonna deve avere una lunghezza di caratteri media di 50 o più caratteri.
-
La colonna deve avere una lunghezza di parole media di cinque o più parole.
Trattamento di una funzione come testo libero
Il processo di trattamento di una funzione come testo libero è il seguente:
-
Quando si selezionano i dati di training, Qlik AutoML identifica le funzioni che possono essere elaborate come testo libero. Sono contrassegnate con le informazioni Testo libero possibile nella visualizzazione schema gli verrà assegnato il tipo di funzione di testo libero.
-
Una volta eseguita la versione v1 dell'esperimento, viene completata un'altra analisi. A questo punto, le funzioni contrassegnate inizialmente come possibile testo libero potrebbero essere rilevate come inutilizzabili come funzioni di testo libero.
Se le funzioni che non sono utilizzabili come testo libero hanno cardinalità elevata, si consiglia di deselezionarle per escluderle dall'esperimento. Queste funzioni, quando sono trattate come categoriche, non apportano nessun valore per le prestazioni del modello.
Se le funzioni che non sono utilizzabili come testo libero non hanno cardinalità elevata, è possibile includerle nell'esperimento facendo clic su Tratta come categorico o cambiando il Tipo di funzione da testo libero a categorico. Se lascia il tipo di funzione come testo libero, questo verrà considerato anche a livello interno come categorico e con codifica impact encoding.
Per i dettagli completi sulla pre-elaborazione, vedere Preparazione e trasformazione automatica dei dati.
Per maggiori informazioni su ogni informazione strategica visualizzata nella visualizzazione schema, vedere Visualizzazione delle informazioni strategiche sui dati dell'addestramento.
L'utilizzo della funzione testo libero come destinazione dell'esperimento
In rari casi, è possibile selezionare una funzione di testo libero come destinazione. Se la funzione soddisfa tutti i requisiti per la codifica di testo libero e contiene tra due e dieci valori univoci, può essere utilizzata come destinazione. In questi scenari, l'esperimento viene definito come una classificazione binaria standard o come un problema di classificazione multiclasse.
Funzioni di testo libero nelle previsioni
Quando si distribuisce un modello addestrato con una funzione di testo libero, la distribuzione di ML risultante può generare previsioni, a condizione che i seguenti requisiti vengano soddisfatti per il set di dati di applicazione:
-
I nomi della colonna della funzione rappresentano la corrispondenza tra il training set e il set di dati di applicazione
-
La colonna nel set di dati di applicazione, che corrisponde alla funzione di testo libero nei dati di training, contiene i dati della stringa
Considerazioni
L'inclusione di funzionalità di testo libero nell'esperimento aumenta la complessità dell'esperimento e i processi richiesti per eseguirlo. È possibile che i grafici Importanza della permutazione non siano disponibili per i modelli risultanti se i dati del testo libero sono abbastanza complessi.
Risoluzione dei problemi
L'utilizzo di dati di testo libero per addestrare un modello può essere un processo con impatto elevato sulle risorse. Quando si includono delle colonne di testo libero che includono un gran numero di parole univoche come funzioni, si potrebbe riscontrare un errore.
Ecco alcune linee guida per la risoluzione di questi errori:
-
Ridurre il set secondario di dati nel training set per includere un numero inferiore di righe di testo libero.
-
Rimuovere le funzioni di testo libero che non è necessario includere nell'addestramento del modello.
-
Trattare una o più colonne di testo libero come funzioni categoriche, anziché come testo libero. Notare che questa azione non è consigliata se queste funzioni di testo libero hanno cardinalità elevata.