Clasificación da árbore de decisións

clasificación
árbore de decisións
modelo de predición
Clasificación da árbore de decisións cover image

Introdución

As árbores de decisión (DT) son un método de aprendizaxe supervisado non paramétrico utilizado para a clasificación e a regresión. O obxectivo é crear un modelo que prediga o valor dunha variable obxectivo aprendendo regras de decisión sinxelas que se deducen das características dos datos.

Entropía

O obxectivo do adestramento é atopar as mellores divisións nos nodos para atopar a árbore máis óptima. As divisións realízanse utilizando algúns criterios como: Entropía.

Existen moitas definicións de entropía como:

  • A entropía corresponde á cantidade de información contida nunha fonte de información.

  • A entropía tamén se pode ver como a aleatoriedade ou a medición da sorpresa nun conxunto.

  • A entropía é unha métrica que mide a imprevisibilidade ou impureza do sistema.

entropy

Nas árbores de decisión, consideraremos a entropía como a medida da pureza no interior dun nodo. O obxectivo do modelo da árbore de decisión é reducir a entropía dos nodos en cada división:

entropy_reductioin

Así, queremos maximizar a diferenza entre a entropía do nodo pai e a entropía dos nodos fillos. Esta diferenza chámase Ganancia de información.

A Entropía HH dun conxunto XX formúlase matematicamente como segue:

H(X)=_xXp(x)logp(x)H(X) = - \sum\limits\_{x \in X} p(x) \log p(x)

Ganancia de información

A ganancia de información é a diferenza entre a entropía do nodo pai e a suma ponderada das entropías dos nodos dos criados, polo que pódese formular como segue:

IG(Y,X)=H(Y)xunique(X)P(xX)×H(YX=x)IG(Y, X) = H(Y) - \sum_{x \in unique(X)} P(x|X) \times H(Y | X = x)

=H(Y)xunique(X)X.count(x)len(X)×H(Y[X==x])= H(Y) - \sum_{x \in unique(X)} \frac{X.count(x)}{len(X)} \times H(Y[X == x])

onde:

  • H(.)H(.) é a entropía.

  • YY é a poboación anterior á división, representa o nodo pai.

  • XX é a variable que queremos usar para a división.

  • xx é un valor único de X.

  • Y[X==x]Y[X==x] é unha lista dividida con só valores de xx.

pomos un exemplo axeitado:

entropy_reductioin

Imos calcular a ganancia de información cando dividimos o nodo pai usando os valores de X:

IG(parent,X)=H(parent)xunique(X)P(xX)×H(parentX=x)IG(parent, X) = H(parent) - \sum_{x \in unique(X)} P(x|X) \times H(parent | X = x)

\

Primeiro, calculamos a entropía do nodo pai:

H(parent)=P(Y=Blue)×logP(Y=Blue)P(Y=Yellow)×logP(Y=Yellow)H(parent) = - P(Y=Blue) \times \log P(Y=Blue) - P(Y=Yellow) \times \log P(Y=Yellow)

=1121×log(1121)1021×log(1021)=0.3= - \frac{11}{21} \times \log(\frac{11}{21}) - \frac{10}{21} \times \log(\frac{10}{21}) = 0.3

\

Entón, imos calcular a probabilidade interna de cada nodo fillo despois da división usando os valores únicos de X:

unique(X)=[Circle,Square]unique(X) = [Circle, Square]

_xunique(X)P(xX)×H(YX=x)=P(SquareX)×H(YX=Square)\sum\_{x \in unique(X)} P(x|X) \times H(Y | X = x) = P(Square|X) \times H(Y | X = Square)

+P(CircleX)×H(YX=Circle)+ P(Circle|X) \times H(Y | X = Circle)

=921×H(YX=Square)+1221×H(YX=Circle)= \frac{9}{21} \times H(Y | X = Square) + \frac{12}{21} \times H(Y | X = Circle)

Tales como:

  • H(YX=Cadrado)H(Y | X = Cadrado) : representa a entropía do primeiro nodo fillo.

  • H(YX=Cıˊrculo)H(Y | X = Círculo) : representa a entropía do segundo nodo fillo.

\

Comezamos co primeiro nodo fillo:

H(YX=Square)=P(Y=BlueX=Square)×logP(Y=BlueX=Square)H(Y | X = Square) = - P(Y=Blue | X = Square) \times \log P(Y=Blue| X = Square)

P(Y=YellowX=Square)×logP(Y=YellowX=Square)- P(Y=Yellow| X = Square) \times \log P(Y=Yellow| X = Square)

=79×log7929×log29=0.23= - \frac{7}{9} \times \log\frac{7}{9} - \frac{2}{9} \times \log\frac{2}{9} = 0.23

\

E despois o segundo nodo fillo:

H(YX=Circle)=P(Y=BlueX=Circle)×logP(Y=BlueX=Circle)H(Y | X = Circle) = - P(Y=Blue | X = Circle) \times \log P(Y=Blue| X = Circle)

P(Y=YellowX=Circle)×logP(Y=YellowX=Circle)- P(Y=Yellow| X = Circle) \times \log P(Y=Yellow| X = Circle)

=412×log412812×log812=0.28= - \frac{4}{12} \times \log\frac{4}{12} - \frac{8}{12} \times \log\frac{8}{12} = 0.28

\

Finalmente, substituímos as entropías na fórmula de ganancia de información:

IG(parent,X)=H(parent)xunique(X)P(xX)×H(parentX=x)IG(parent, X) = H(parent) - \sum_{x \in unique(X)} P(x|X) \times H(parent | X = x)

=0.3921×0.231221×0.28=0.041= 0.3 - \frac{9}{21} \times 0.23 - \frac{12}{21} \times 0.28 = 0.041

\

\

Como se dixo antes, o obxectivo dunha división de nodos é maximizar a ganancia de información e, polo tanto, minimizar a Entropía no nodo fillo resultante. Para iso, debemos tentar dividir o nodo con diferentes conxuntos de entradas X1,X2,,XnX_1, X_2, \ldots, Xn e só mantemos a división que maximiza a ganancia de información:

X\*=argmaxXiIG(Y,Xi)X^{\*} = \underset{X_i}{\operatorname{argmax}} IG(Y, X_i)

Cando deixar de dividir

A división de nodos nas árbores de decisión é recursiva, polo que debe haber un criterio que poidamos utilizar para deter a división. Estes son algúns dos criterios máis aplicados:

  • Cando o nodo é puro: H(nodo) = 0. Non ten sentido dividir o nodo máis.

  • Número máximo de profundidade: Podemos establecer unha profundidade máxima que pode alcanzar o modelo, isto significa que aínda que o nodo non sexa puro a división está detida.

  • Número mínimo de mostras por nodo: Tamén podemos establecer un número mínimo de NN de mostras por nodo. Se o número de mostras por nodo é igual a NN entón deixamos de dividir aínda que o nodo non sexa puro.

Ao final do adestramento (a división), cada nodo que depende do final da árbore de decisión chámase "Folla", porque non é unha raíz de ningunha subárbore. Cada folla representará o rendemento da clase con máis mostras.

Conclusión

A árbore de decisións é un dos algoritmos de aprendizaxe automática máis famosos pola súa eficiencia, o seu fondo intuitivo e a súa sinxela implementación. Este algoritmo tamén se pode usar con variables numéricas independentes (Árbore de decisión gaussiana) e tamén se pode estender para resolver tarefas de regresión.


Career Services background pattern

Servizos de Carreira

Contact Section background image

Mantémonos en contacto

Code Labs Academy © 2024 Todos os dereitos reservados.