1
resposta

Não entendi como a função "salvar_arvore" gerou a árvore da aula

Boa noite pessoal,

Não entendi como a função gerou justamente a árvore dos dados da aula.

O código da função é

def salvar_arvore(classificador,nome):
    plt.figure(figsize=(200,100))
    tree.plot_tree(classificador, filled = True, fontsize = 14)
    plt.savefig(nome)
    plt.close

No caso o classificador invocado foi o tree.DecisionTreeClassifier(), mas no caso desse trecho da função, onde que os dados que estamos analisando foram chamados? Porque em tese nós apenas incluimos o classificador nessa função, mas não os dados, por isso não entendi como a árvore foi criada de forma correta.

1 resposta

Oi, Thiago, tudo bem?

Desculpe a demora em te responder!

A função salvar_arvore que você mostrou tem o objetivo de visualizar e salvar uma árvore de decisão criada por um classificador do tipo tree.DecisionTreeClassifier(). No entanto, a função em si não recebe os dados como argumento porque a árvore de decisão já foi treinada previamente usando esses dados.

Antes de chamar a função salvar_arvore, foi feito o treinamento de um modelo de árvore de decisão usando um conjunto de dados de treinamento. Neste ponto, classificador é um objeto que representa a árvore de decisão treinada com base nos dados de treinamento. Em seguida, você pode chamar a função salvar_arvore e passar o classificador como argumento, juntamente com o nome do arquivo onde deseja salvar a imagem da árvore.

A função salvar_arvore utiliza a biblioteca "matplotlib" para gerar a imagem da árvore de decisão. Ela chama a função tree.plot_tree(classificador, filled=True, fontsize=14) para criar a visualização da árvore. Nesse ponto, a função plot_tree usa o modelo classificador para extrair as informações sobre a árvore de decisão, incluindo os nós, rótulos e estrutura da árvore.

A função plt.savefig(nome) é usada para salvar a imagem da árvore com o nome especificado. Enquanto a função plt.close deve ser chamada para fechar a figura gerada pela "matplotlib".

Portanto, a função recebe apenas o classificador treinado como argumento e usa esse classificador para gerar a visualização da árvore de decisão com base nas informações contidas no modelo treinado.

Espero ter ajudado. Caso tenha dúvidas, não hesite em postar no fórum!

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!