Gestione di set di dati con un numero variabile di funzionalità


14

Quali sono alcuni approcci per classificare i dati con un numero variabile di funzionalità?

Ad esempio, considera un problema in cui ogni punto dati è un vettore di punti xey e non abbiamo lo stesso numero di punti per ogni istanza. Possiamo considerare ogni coppia di punti xey come una caratteristica? O dovremmo semplicemente riassumere i punti in qualche modo in modo che ogni punto dati abbia un numero fisso di funzionalità?


7
La presenza o l'assenza di un determinato punto aiuta a classificare i dati?
jonsca,

Risposte:


5

Puoi considerare questi punti come mancanti --- cioè. supponiamo che il vettore abbia al massimo 20 coppie (x, y) e che il punto particolare abbia 5 coppie (x, y), in questo caso trattiamo il resto delle coppie come mancanti e quindi applichiamo le procedure standatd per i parametri mancanti:

Queste procedure standard possono essere:

  • Utilizzare un modello che gestisca i parametri mancanti in modo naturale, ad esempio i modelli di alberi decisionali dovrebbero essere in grado di affrontarli.
  • Sostituisci mancante con il valore medio per la colonna appropriata.
  • Utilizzare un modello semplice per "prevedere" i valori mancanti.

Ma come indica @jonsca --- se la presenza di assenza di un determinato punto aiuta a classificare i dati, ad esempio dovresti costruire un paio di modelli, ognuno di essi modella le istanze con un particolare numero di punti.


10

Da come capisco la tua domanda, i punti nei dati sono intercambiabili e non arrivano con alcun ordine, cioè hai un set di punti per ogni esempio. Questa impostazione è diversa dall'impostazione "Valore mancante" che jb. descritto.

Conosco due metodi comunemente usati per questo problema, che in realtà sono basati sulle tue idee. Una buona base sarebbe probabilmente quella di fare una media di tutti i punti all'interno di un esempio, ma di solito non funziona bene.

  • Per aggregare più punti in una singola funzione, le rappresentazioni del bag of words (o bag of feature) sono abbastanza comunemente usate, ad esempio nella visione artificiale. L'idea è quella di raggruppare tutti i punti nel tuo set di allenamento (usando ad esempio k-medie) e quindi descrivere ogni punto dal suo cluster. Per ogni esempio viene quindi visualizzato un istogramma su cui si verificano i cluster con la frequenza.

  • Per usare tutte le coppie di punti, puoi usare i kernel impostati. Questo potrebbe funzionare meglio con l'utilizzo di SVM ma probabilmente funzionerà anche con qualsiasi algoritmo di apprendimento che può essere kernelizzato o fare uso di una funzione di compatibilità tra input. I kernel set sono sostanzialmente un modo per calcolare la somiglianza di due set di funzionalità, come nelle impostazioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.