Sobes.tech
Junior — Middle

Como é o processo de construção da árvore de decisão? Quais critérios de divisão você conhece?

sobes.tech IA

Resposta da IA

A árvore de decisão é construída através de uma divisão sequencial do conjunto de dados original em subconjuntos, que se tornam nós da árvore. Em cada passo, uma característica e um limiar (para características numéricas) são selecionados, dividindo os dados em partes de modo a maximizar a homogeneidade (pureza) dos subconjuntos resultantes em relação à variável alvo.

Critérios principais de divisão:

  • Índice de Gini (Gini impurity) — mede a probabilidade de erro na classificação de um objeto escolhido aleatoriamente, se este for classificado aleatoriamente de acordo com a distribuição de classes no subconjunto. Quanto menor, melhor.

  • Ganhos de informação (Information Gain) — diferença na entropia antes e depois da divisão. Quanto maior o ganho de informação, melhor a divisão.

  • Razão de ganho de informação (Information Gain Ratio) — modificação do ganho de informação que leva em conta o número e o tamanho dos subconjuntos para evitar viés para características com muitos valores.

  • Redução de variância (Variance reduction) — usada para regressão, minimiza a dispersão dos valores da variável alvo nos subconjuntos.

Exemplo de divisão simples por característica:

# Pseudocódigo para selecionar a melhor divisão
best_gain = 0
best_feature = None
for feature in features:
    for threshold in possible_thresholds(feature):
        left, right = split(data, feature, threshold)
        gain = information_gain(data, left, right)
        if gain > best_gain:
            best_gain = gain
            best_feature = (feature, threshold)