Condividi tramite


Filter Based Feature Selection

Importante

Il supporto dello studio di Azure Machine Learning (versione classica) terminerà il 31 agosto 2024. È consigliabile passare ad Azure Machine Learning entro tale data.

A partire dal 1° dicembre 2021 non sarà possibile creare nuove risorse dello studio di Azure Machine Learning (versione classica). Fino al 31 agosto 2024 sarà possibile continuare a usare le risorse dello studio di Azure Machine Learning (versione classica).

La documentazione relativa allo studio di Machine Learning (versione classica) è in fase di ritiro e potrebbe non essere aggiornata in futuro.

Identifica le funzioni in un set di dati con la massima potenza predittiva

Categoria: Moduli di selezione delle funzionalità

Nota

Si applica a: Machine Learning Studio (versione classica)

Moduli di trascinamento della selezione simili sono disponibili nella finestra Azure Machine Learning progettazione.

Panoramica del modulo

Questo articolo descrive come usare il modulo Filter Based Feature Selection in Machine Learning Studio (versione classica) per identificare le colonne nel set di dati di input con la massima potenza predittiva.

In generale, la selezione delle funzionalità si riferisce al processo di applicazione di test statistici agli input, dato un output specificato, per determinare quali colonne sono più predittivi dell'output. Il modulo Filter Based Feature Selection (Selezione funzionalità basata su filtro) offre più algoritmi di selezione delle funzionalità tra cui scegliere, inclusi i metodi di correlazione, ad esempio la correlazione di Pearsons o Kendall, i punteggi delle informazioni reciproche e i valori chi quadrato. Machine Learning supporta anche i conteggi dei valori delle funzionalità come indicatore del valore delle informazioni.

Quando si usa il modulo Selezione funzionalità basata su filtro, si fornisce un set di dati, si identifica la colonna che contiene l'etichetta o la variabile dipendente e quindi si specifica un singolo metodo da usare per misurare l'importanza della funzionalità.

Il modulo restituisce un set di dati che contiene le colonne di funzionalità migliori, in base alla potenza predittiva. Restituisce anche i nomi delle funzionalità e i relativi punteggi dalla metrica selezionata.

Che cos'è la selezione di funzionalità basata su filtro e perché usarla?

Questo modulo per la selezione delle funzionalità è denominato "basato su filtro" perché si usa la metrica selezionata per identificare gli attributi irrilevanti e filtrare le colonne ridondanti dal modello. Si sceglie una singola misura statistica adatta ai dati e il modulo calcola un punteggio per ogni colonna della funzionalità. Le colonne vengono restituite classificate in base ai punteggi delle funzionalità.

La scelta delle funzioni appropriate può permettere di migliorare la precisione e l'efficienza della classificazione.

In genere si usano solo le colonne con i punteggi migliori per creare il modello predittivo. Le colonne con punteggi di selezione delle funzionalità non erre possono essere lasciati nel set di dati e ignorate quando si compila un modello.

Come scegliere una metrica di selezione delle funzionalità

La selezione delle funzionalità basate su filtro fornisce un'ampia gamma di metriche per la valutazione del valore delle informazioni in ogni colonna. In questa sezione viene fornita una descrizione generale di ogni metrica e del modo in cui viene applicata. I requisiti aggiuntivi per l'uso di ogni metrica sono indicati nella sezione Note tecniche e nelle istruzioni per la configurazione di ogni modulo.

  • Correlazione di Pearson

    La statistica di correlazione di Pearson, o coefficiente di correlazione di Pearson, è nota anche nei modelli statistici come valore r . Per due variabili, restituisce un valore che indica l'intensità della correlazione

    Il coefficiente di correlazione di Pearson viene calcolato a partire dalla covarianza di due variabili e dalla divisione del prodotto delle rispettive deviazioni standard. Il coefficiente non è interessato dalle modifiche di scala nelle due variabili.

  • Informazione mutua

    Il punteggio delle informazioni reciproche misura il contributo di una variabile per ridurre l'incertezza sul valore di un'altra variabile: l'etichetta. Sono state create molte variazioni del punteggio basato sull'informazione mutua, in modo da adattarlo alle diverse distribuzioni.

    Il punteggio basato sull'informazione mutua è particolarmente utile nella selezione delle funzioni, poiché massimizza l'informazione mutua tra la distribuzione congiunta e le variabili di destinazione nei set di dati con molte dimensioni.

  • Correlazione di Kendall

    La correlazione per ranghi di Kendall è una delle numerose statistiche che misurano la relazione tra classificazioni di diverse variabili ordinali o diverse classificazioni della stessa variabile. In altre parole, misura la somiglianza degli ordinamenti in caso di classificazione in base alle quantità. Questo coefficiente e il coefficiente di correlazione di Spearman sono stati progettati per l'uso con dati distribuiti non parametrici e non normali.

  • Correlazione di Spearman

    Il coefficiente di Spearman è una misura non parametrica della dipendenza statistica tra due variabili ed è spesso indicata dalla lettera greca rho. Il coefficiente di Spearman esprime il livello di correlazione progressiva costante di due variabili. Viene definito anche correlazione per ranghi di Spearman, poiché può essere usato con variabili ordinali.

  • Chi quadrato

    Il test del chi quadrato a due vie è un metodo statistico che consente di misurare la distanza tra i valori previsti e i risultati effettivi. Il metodo presuppone che le variabili siano casuali e derivate da un adeguato campione di variabili indipendenti. La risultante statistica del chi quadrato indica la distanza dei risultati ottenuti da quelli previsti (casuali).

  • Punteggio di Fisher

    Il punteggio di Fisher, definito anche metodo di Fisher o punteggio di probabilità combinato di Fisher, viene a volte indicato come punteggio di informazioni, poiché rappresenta la quantità di informazioni fornite da una variabile in merito a un parametro sconosciuto da cui dipende.

    Il punteggio viene calcolato misurando la varianza tra il valore previsto delle informazioni e il valore osservato. Quando la varianza è minimizzata, le informazioni saranno massimizzate. Poiché il punteggio previsto è zero, le informazioni Fisher corrispondono anche alla varianza del punteggio.

  • Basata sui conteggi

    La selezione delle funzioni basata sui conteggi è un modo semplice ma relativamente efficiente di individuare informazioni sui predittori. L'idea di base della funzionalità basata sul conteggio è semplice: calcolando i conteggi dei singoli valori all'interno di una colonna, è possibile ottenere un'idea della distribuzione e del peso dei valori e da questo comprendere quali colonne contengono le informazioni più importanti.

    La selezione delle funzionalità basata sul conteggio è un metodo non supervisionato per la selezione delle funzionalità, pertanto non è necessaria una colonna etichetta. Questo metodo riduce anche la dimensionalità dei dati senza perdere informazioni.

    Per altre informazioni sul modo in cui vengono create le funzionalità basate sul conteggio e sui motivi per cui sono utili in Machine Learning, vedere Learning con i conteggi.

Suggerimento

Se è necessaria un'opzione diversa per il metodo di selezione delle funzionalità personalizzato, usare il modulo Esegui script R .

Come configurare la selezione Filter-Based funzionalità

Questo modulo fornisce due metodi per determinare i punteggi delle funzionalità:

Generare punteggi delle funzionalità usando una metrica statistica tradizionale

  1. Aggiungere il modulo Selezione funzionalità basata su filtro all'esperimento. È possibile trovarlo nella categoria Selezione funzionalità in Studio (versione classica).

  2. Connessione un set di dati di input che contiene almeno due colonne che sono funzionalità potenziali.

    Per assicurarsi che una colonna debba essere analizzata e generato un punteggio di funzionalità, usare il modulo Modifica metadati per impostare l'attributo IsFeature.

    Importante

    Assicurarsi che le colonne specificate come input siano funzionalità potenziali. Ad esempio, una colonna che contiene un singolo valore non ha alcun valore di informazioni.

    Se si sa che sono presenti colonne che potrebbero rendere le funzionalità non supportate, è possibile rimuoverle dalla selezione della colonna. È anche possibile usare il modulo Modifica metadati per contrassegnarli come categorici.

  3. Per Metodo di assegnazione dei punteggi delle funzionalità, scegliere uno dei metodi statistici stabiliti seguenti da usare per il calcolo dei punteggi.

    Metodo Requisiti
    Correlazione di Pearson L'etichetta può essere di tipo testo o numerico. Le funzionalità devono essere numeriche.
    Informazione mutua Le etichette e le caratteristiche possono essere testo o numeriche. Usare questo metodo per calcolare l'importanza delle funzionalità per due colonne categoriche.
    Correlazione di Kendall L'etichetta può essere di tipo testo o numerico, ma le caratteristiche devono essere numeriche.
    Correlazione di Spearman L'etichetta può essere di tipo testo o numerico, ma le caratteristiche devono essere numeriche.
    Chi quadrato Le etichette e le caratteristiche possono essere testo o numeriche. Usare questo metodo per calcolare l'importanza delle funzionalità per due colonne categoriche.
    Punteggio di Fisher L'etichetta può essere di tipo testo o numerico, ma le caratteristiche devono essere numeriche.
    Conteggi Vedere: Per usare la selezione Count-Based funzionalità

    Suggerimento

    Se si modifica la metrica selezionata, tutte le altre selezioni verranno reimpostate, quindi assicurarsi di impostare prima questa opzione.

  4. Selezionare l'opzione Opera solo sulle colonne della funzionalità per generare un punteggio solo per le colonne contrassegnate in precedenza come funzionalità.

    Se si deseleziona questa opzione, il modulo creerà un punteggio per qualsiasi colonna che altrimenti soddisfa i criteri, fino al numero di colonne specificato in Numero di funzionalità desiderate.

  5. Per Colonna di destinazione fare clic su Avvia selettore di colonna per scegliere la colonna etichetta in base al nome o al relativo indice (gli indici sono basati su uno).

    È necessaria una colonna etichetta per tutti i metodi che comportano la correlazione statistica. Il modulo restituisce un errore in fase di progettazione se non si sceglie alcuna colonna etichetta o più colonne etichetta.

  6. In Numero di funzionalità desiderate digitare il numero di colonne di funzionalità che si desidera restituire come risultato.

    • Il numero minimo di funzioni che è possibile specificare è 1, ma è consigliabile aumentare questo valore.

    • Se il numero specificato di funzionalità desiderate è maggiore del numero di colonne nel set di dati, vengono restituite tutte le funzionalità, anche quelle con zero punteggi.

    • Se si specifica un numero inferiore di colonne di risultati rispetto alle colonne di funzionalità, le funzionalità vengono classificate in base al punteggio decrescente e vengono restituite solo le caratteristiche principali.

  7. Eseguire l'esperimento oppure selezionare il modulo Selezione funzionalità basata su filtro e quindi fare clic su Esegui selezionato.

Risultati della selezione delle funzionalità

Al termine dell'elaborazione:

  • Per visualizzare un elenco completo delle colonne delle funzionalità analizzate e i relativi punteggi, fare clic con il pulsante destro del mouse sul modulo, scegliere Funzionalità e fare clic su Visualizza.

  • Per visualizzare il set di dati generato in base ai criteri di selezione delle funzionalità, fare clic con il pulsante destro del mouse sul modulo, scegliere Set di dati e fare clic su Visualizza.

Se il set di dati contiene meno colonne del previsto, controllare le impostazioni del modulo e i tipi di dati delle colonne fornite come input. Ad esempio, se si imposta Number of desired features (Numero di funzionalità desiderate) su 1, il set di dati di output contiene solo due colonne: la colonna etichetta e la colonna delle funzionalità con il livello più alto.

Usare la selezione di funzionalità basata sul conteggio

  1. Aggiungere il modulo Selezione funzionalità basata su filtro all'esperimento. È possibile trovarlo nell'elenco dei moduli in Studio (versione classica) nel gruppo Selezione funzionalità.

  2. Connessione un set di dati di input che contiene almeno due colonne che sono possibili funzionalità.

  3. Selezionare Conteggio in base all'elenco dei metodi statistici nell'elenco a discesa Metodo di assegnazione dei punteggi delle funzionalità.

  4. Per Numero minimo di elementi diversi da zero, indicare il numero minimo di colonne di funzionalità da includere nell'output.

    Per impostazione predefinita, il modulo restituisce tutte le colonne che soddisfano i requisiti. Il modulo non può eseguire l'output di alcuna colonna che ottiene un punteggio pari a zero.

  5. Eseguire l'esperimento oppure selezionare solo il modulo e fare clic su Esegui selezionato.

Risultati della selezione delle funzionalità basate sul conteggio

  • Per visualizzare l'elenco delle colonne di funzionalità con i relativi punteggi, fare clic con il pulsante destro del mouse sul modulo, scegliere Funzionalità e fare clic su Visualizza .
  • Per visualizzare il set di dati contenente le colonne analizzate, fare clic con il pulsante destro del mouse sul modulo, scegliere Set di dati e fare clic su Visualizza.

A differenza di altri metodi, il metodo di selezione della funzionalità Basato su conteggio non classifica le variabili in base ai punteggi più alti, ma restituisce tutte le variabili con un punteggio diverso da zero, nell'ordine originale.

Le funzionalità stringa ottengono sempre un punteggio zero (0) e pertanto non vengono restituite.

Esempio

È possibile visualizzare esempi di come viene usata la selezione delle funzionalità nel Azure AI Gallery:

  • Classificazione del testo; Nel terzo passaggio di questo esempio viene usata la selezione delle funzionalità basate su filtro per identificare le 15 funzionalità migliori. L'hashing delle funzionalità viene usato per convertire i documenti di testo in vettori numerici. La correlazione di Pearson viene quindi usata sulle caratteristiche del vettore.

  • Selezione delle funzionalità di Machine Learning e progettazione delle funzionalità: questo articolo fornisce un'introduzione alla selezione delle funzionalità e alla progettazione delle funzionalità in Machine Learning.

Per visualizzare esempi di punteggi delle funzionalità, vedere Tabella dei punteggi confrontati.

Note tecniche

È possibile trovare questo modulo in Trasformazione dati, nella categoria Filtri.

Dettagli dell'implementazione

Se si usa Pearson Correlation, Kendall Correlation o Spearman Correlation su una funzionalità numerica e un'etichetta categorica, il punteggio della funzionalità viene calcolato come segue:

  1. Per ogni livello nella colonna categorica, calcolare la media condizionale della colonna numerica.

  2. Correlare la colonna dei mezzi condizionali con la colonna numerica.

Requisiti

  • Non è possibile generare un punteggio di selezione della funzionalità per qualsiasi colonna designata come etichetta o colonna di punteggio.

  • Se si prova a usare un metodo di assegnazione di punteggi con una colonna con un tipo di dati non supportato dal metodo, il modulo genererà un errore oppure alla colonna verrà assegnato un punteggio pari a zero.

  • Se una colonna include valori logici (true/false), tali valori verranno elaborati come True = 1 e False = 0.

  • Una colonna non può essere un funzione se è stata designata come etichetta o punteggio.

Modalità di gestione dei valori mancanti

  • Non è possibile specificare come colonna di destinazione (etichetta) eventuali colonne prive di valori.

  • Se una colonna include valori mancanti, tali valori verranno ignorati durante il calcolo del punteggio per la colonna.

  • Se una colonna contrassegnata come colonna di funzioni è totalmente priva di valori, a tale colonna verrà assegnato un punteggio pari a zero.

Tabella dei punteggi confrontati

Per avere un'idea del confronto tra i punteggi quando si usano metriche diverse, la tabella seguente presenta alcuni punteggi di selezione delle funzionalità di più funzionalità nel set di dati dei prezzi delle automobili, in base alla variabile dipendente highway-mpg.

Colonna funzionalità Punteggio Pearson Conteggio del punteggio Punteggio kendall Informazioni reciproche
highway-mpg 1 205 1 1
city-mpg 0.971337 205 0.892472 0.640386
curb-weight 0.797465 171 0.673447 0.326247
horsepower 0.770908 203 0.728289 0.448222
price 0.704692 201 0.651805 0.321788
length 0.704662205 205 0.53193 0.281317
engine-size 0.67747 205 0.581816 0.342399
width 0.677218 205 0.525585 0.285006
bore 0.594572 201 0.467345 0.263846
wheel-base 0.544082 205 0.407696 0.250641
compression-ratio 0.265201 205 0.337031 0.288459
fuel-system na na na 0.308135
make na na na 0.213872
ruote motrici na na na 0.213171
altezza na na na 0.1924
normalized-losses na na na 0.181734
symboling na na na 0.159521
num-of-cylinders na na na 0.154731
engine-type na na na 0.135641
Aspirazione na na na 0.068217
body-style na na na 0.06369
fuel-type na na na 0.049971
num-of-doors na na na 0.017459
engine-location na na na 0.010166
  • È possibile creare punteggi di informazioni reciproche per tutti i tipi di colonna, incluse le stringhe.

  • Gli altri punteggi inclusi in questa tabella, ad esempio la correlazione di Pearson o la selezione di funzionalità basate sul conteggio, richiedono valori numerici. Le funzionalità stringa ottengono un punteggio pari a 0 e pertanto non sono incluse nell'output. Per le eccezioni, vedere la sezione Note tecniche.

  • Il metodo basato sul conteggio non considera una colonna etichetta in modo diverso dalle colonne di funzionalità.

Input previsti

Nome Tipo Descrizione
Set di dati Tabella dati Set di dati di input

Parametri del modulo

Nome Intervallo Type Predefinito Descrizione
Feature scoring method Elenco Metodo di assegnazione del punteggio Scegliere il metodo da usare per l'assegnazione dei punteggi
Operate on feature columns only Qualsiasi Boolean true Indica se nel processo di assegnazione dei punteggi devono essere usate solo le colonne di funzioni
Target column Qualsiasi ColumnSelection Nessuno Specifica la colonna di destinazione
Number of desired features >=1 Integer 1 Specifica il numero di funzioni da restituire come output nei risultati
Minimum number of non-zero elements >=1 Integer 1 Specifica il numero di funzioni da restituire come output (per il metodo CountBased)

Output

Nome Tipo Descrizione
Set di dati filtrato Tabella dati Set di dati filtrato
Funzionalità Tabella dati Nomi delle colonne di output e punteggi di selezione delle funzioni

Eccezioni

Eccezione Descrizione
Errore 0001 L'eccezione si verifica se non è possibile trovare una o più colonne specificate del set di dati.
Errore 0003 L'eccezione si verifica se uno o più input sono null o vuoti.
Errore 0004 L'eccezione si verifica se un parametro è inferiore o uguale a un valore specifico.
Errore 0017 Si verifica un'eccezione se il tipo di una o più colonne specificate non è supportato dal modulo attuale.

Per un elenco di errori specifici dei moduli di Studio (versione classica), vedere l'Machine Learning codici di errore.

Per un elenco delle eccezioni API, vedere l'Machine Learning di errore dell'API REST.

Vedi anche

Selezione delle funzionalità
Fisher Linear Discriminant Analysis
Elenco moduli A-Z