"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.
"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.
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!