6

Qual è il modo migliore per gestire i valori degli attributi delle feature mancanti con l'albero delle decisioni di Weka C4.5 (J48)? Il problema dei valori mancanti si verifica durante l'allenamento e la classificazione.Come gestire i valori degli attributi mancanti nell'albero delle decisioni C4.5 (J48)?

  1. Se i valori non sono presenti casi di formazione, io sono correggo nel presumere che ho posto un '?' valore per la funzione?

  2. Supponiamo di essere in grado di costruire con successo l'albero decisionale e quindi di creare il mio codice albero in C++ o Java dalla struttura ad albero di Weka. Durante il tempo di classificazione, se sto cercando di classificare una nuova istanza, quale valore attribuisco alle funzioni con valori mancanti? Come posso scendere l'albero oltre un nodo decisionale per il quale ho un valore sconosciuto?

Utilizzare Naive Bayes sarebbe meglio per gestire i valori mancanti? Assegnerei solo una probabilità non nulla molto piccola per loro, giusto?

risposta

8

Da corso ML Pedro Domingos' in Università di Washington:

Qui ci sono tre approcci che cosa Pedro suggerisce per il valore di A mancante:

  • assegnare il valore più comune di A tra gli altri esempi ordinati al nodo n
  • assegnare il valore più comune di A tra gli altri esempi con lo stesso valore obiettivo
  • Assegna probabilità p_i a ciascun possibile valore v_i di A; Assegna la frazione p_i di esempio a ciascun discendente nell'albero.

Le diapositive e il video sono ora visibili al numero here.

+0

Grandi informazioni. Grazie. Controllerò il video. – stackoverflowuser2010

+0

Per "ordinati al nodo n", si intende solo tra gli altri esempi sul nodo n, giusto? –

+0

Non sono sicuro di aver capito l'ultimo punto. Il valore nell'esempio di allenamento corrente può essere "X" o "Y", ma l'attributo non può contenere due valori con due pribabilities, giusto? Quindi cosa si intende per quello? – n1try

2

Un approccio alternativo consiste nel lasciare il valore mancante come '?' E non utilizzarlo per il calcolo del guadagno di informazioni. Nessun nodo dovrebbe avere un valore sconosciuto durante la classificazione perché lo hai ignorato durante la fase di guadagno delle informazioni. Per la classificazione, credo che si consideri semplicemente il valore mancante sconosciuto e non lo si elimini durante la classificazione su quell'attributo specifico.