1
resposta

Visualização gráfica da relação dos parâmetros com a eficácia da DecisionTree

Para quem tiver interesse, o código abaixo mostra de maneira gráfica a relação do parâmetro (profundidade máxima da árvore) com a eficácia média.

# Biblioteca gráfica
import plotly.graph_objects as go

# Definindo uma função com o parâmetro da árvore de decisão
def roda_arvore_de_decisao(max_depth):
  SEED = 301
  np.random.seed(SEED)

  cv = GroupKFold(n_splits = 10)
  modelo = DecisionTreeClassifier(max_depth=max_depth)
  results = cross_validate(modelo, x, y, cv = cv, groups = dados.modelo, return_train_score=False)
  return results['test_score'].mean() * 100

# Tirando a eficácia média de cada parâmetro
media = []
n_prof = np.linspace(1,30,30)
for i in n_prof:
      aux = roda_arvore_de_decisao(i)
      media.append(aux)

# Plotando o resultado
fig = go.Figure()
fig = fig.add_trace(go.Scatter(x = n_prof,y = media)) # Inserindo o gráfico como argumento da função add_trace 
fig.update_layout(
    title = "Acurácia média do DecisionTree",
    xaxis_title = "Profundidade máxima da árvore",
    yaxis_title = "Acurácia média",
    autosize=False,
    width=1000,
    height=400,
)

O que resulta no seguinte gráfico: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oi Adriano! Tudo bem com você? Espero que sim!

Muito obrigada por compartilhar no fórum seu código! Parabéns pela resolução e por trabalhar vem com uma visualização gráfica dos seus dados. Você mandou muito bem!

Continue sempre estudando e praticando e qualquer dúvida estarei à disposição ;-)

Bons estudos!