2013-01-16 8 views
7

so formula per calcolare l'entropia:Calcolo entropia albero di decisione (apprendimento automatico)

H(Y) = - ∑ (p(yj) * log2(p(yj))) 

In parole, selezionare un attributo e per ogni target di controllo valore valore di attributo ... modo p (YJ) è la frazione di pattern a Node N nella categoria yj - una per true in target value e one for false.

Ma ho un set di dati in cui l'attributo target è il prezzo, quindi l'intervallo. Come calcolare l'entropia per questo tipo di set di dati?

(di cui: http://decisiontrees.net/decision-trees-tutorial/tutorial-5-exercise-2/)

risposta

6

Innanzitutto è necessario discretise il set di dati in qualche modo, come l'ordinamento numericamente in un certo numero di secchi. Esistono molti metodi per la discretizzazione, alcuni sono supervisionati (cioè tengono conto del valore della funzione target) e altri no. This paper descrive varie tecniche usate in termini abbastanza generali. Per ulteriori specifiche ci sono un sacco di algoritmi di discretizzazione nelle librerie di apprendimento automatico come Weka.

L'entropia di distribuzioni continue è chiamato differential entropy, e può anche essere stimata assumendo i dati è distribuito in qualche modo (normalmente distribuito per esempio), allora la stima della distribuzione underlaying nel modo normale, e usando questo per calcolare un entropia valore.

+0

ma come posso decidere gli intervalli? supponiamo che ho ordinato i dati, come decidere l'intervallo ... solo a indovinare, se voglio fare un binario di questi dati? –

+0

Ci sono molti metodi usati per questo, aggiungerò altre informazioni alla risposta, datemi un secondo ... –

+0

oops questo non ha senso .. se gli attributi hanno due valori allora binario ... grazie a @Vic Smith! –

0

Concorrere con Vic Smith, la discretizzazione è generalmente un buon modo per andare. Nella mia esperienza, i dati apparentemente continui sono in realtà "grumosi" e poco è perso.

Tuttavia, se la discretizzazione non è desiderabile per altri motivi, l'entropia viene definita anche per le distribuzioni continue (vedere wikipedia sulla distribuzione preferita, ad esempio http://en.wikipedia.org/wiki/Normal_distribution]).

Un approccio sarebbe assumere una forma di distribuzione, ad es. normale, lognormale, ecc. e calcolare l'entropia dai parametri stimati. Non penso che le scale di entropia di Boltzmann (continua) e di entropia di Shannon (discrete) siano sulla stessa scala, quindi non le mischiamo.

Problemi correlati