Como a floresta aleatória e as árvores extremamente aleatórias se dividem de maneira diferente?

9

Para floresta aleatória, dividimos o nó por Gini impureza ou entropia para um conjunto de recursos. O RandomForestClassifier no sklearn, podemos optar por dividir usando o critério Gini ou Entropy. No entanto, o que eu li sobre o Extra-Trees Classifier, um valor aleatório é selecionado para a divisão (acho que não há nada a ver com Gini ou Entropy). O ExtraTreesClassifier do sklearn tem a opção de escolher Gini ou Entropy para a divisão. Estou um pouco confuso aqui.

lusicat
fonte

Respostas:

10

Uma iteração de floresta aleatória:

  1. Selecione m recursos aleatoriamente como um conjunto candidato de recursos de divisão
  2. Em cada um desses recursos, encontre o "melhor" ponto de corte, onde "melhor" é definido por Gini / Entropy / qualquer medida
  3. Agora você tem m recursos combinados com seus pontos de corte ideais. Escolha como seu recurso de divisão e corte o par com o "melhor" desempenho em relação a Gini / Entropy / qualquer medida

Uma iteração de Árvores Extremamente Aleatórias:

  1. Selecione m recursos aleatoriamente como um conjunto candidato de recursos de divisão

  2. Dentro de cada um desses recursos , , com desenha um único ponto de corte aleatório uniformemente a partir do intervalo . Avalie o desempenho desse recurso com este ponto de corte em relação a Gini / Entropy / qualquer medidaFii1,...,m(min(Fi),max(Fi))

  3. Agora você tem recursos emparelhados com seus pontos de corte selecionados aleatoriamente. Escolha como seu recurso de divisão e corte o par com o "melhor" desempenho em relação a Gini / Entropy / qualquer medidam
Klumbard
fonte
Explicação surpreendente, eu tenho lutado com isso e isso esclareceu completamente.
Yu Chen
Estou confuso em árvores extras. Eu pensei que todas as árvores extras fizessem desenhar um subconjunto aleatório de recursos e, em seguida, desenhar um recurso aleatório desse subconjunto de recursos. Eu pensei que não fazia nenhuma otimização em relação às métricas divididas?
Michael Hsu
Ele otimiza métricas divididas em w / r / t, mas somente depois que essas métricas são escolhidas aleatoriamente. Da própria documentação do scikit-learn: "Como nas florestas aleatórias, um subconjunto aleatório de recursos candidatos é usado, mas, em vez de procurar os limites mais discriminativos, os limites são desenhados aleatoriamente para cada recurso candidato e o melhor desses limites gerados aleatoriamente é escolhido como regra de divisão "
klumbard 08/08/19