1
resposta

SEED - sem função

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

"import numpy as np" é desnecessário para a execução do Esse SEED não tem uso ou função esta solto e perdido no codigo. deve ser herença de outra coisa que não funcionou.

1 resposta

Olá, Carlos! Como vai?

Você está correto em observar que o SEED não está sendo usado diretamente no modelo DecisionTreeClassifier.

O SEED que definimos e aplicamos com np.random.seed(SEED) afeta a aleatoriedade em como os dados são embaralhados antes de serem divididos para cada fold na validação cruzada (cross_validate). Para garantir a reprodutibilidade dos resultados, é importante fixar a semente aleatória tanto para o NumPy quanto diretamente no modelo de DecisionTreeClassifier.

E para incluir o SEED no modelo, você pode adicionar o parâmetro random_state ao DecisionTreeClassifier, assim:

from sklearn.model_selection import cross_validate
from sklearn.tree import DecisionTreeClassifier
import numpy as np

SEED = 301
np.random.seed(SEED)

modelo = DecisionTreeClassifier(max_depth=2, random_state=SEED)
results = cross_validate(modelo, x, y, cv=5, return_train_score=False)
media = results['test_score'].mean()
desvio_padrao = results['test_score'].std()
print("Accuracy com cross validation, 5 = [%.2f, %.2f]" % ((media - 2 * desvio_padrao) * 100, (media + 2 * desvio_padrao) * 100))

Ao fazer essa alteração, você garante que a aleatoriedade dentro do DecisionTreeClassifier também seja controlada pelo SEED, tornando os resultados completamente reproduzíveis.

Espero ter ajudado e fico à disposição se precisar.

Abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado