1
resposta

O SEED da aula não esta ajudando em nada...

Do jeito que está na aula, o SEED não está sendo útil para fixar os resultados. Para fixar, temos que fazer isso:

SEED = 4121988
np.random.seed(SEED)

Assim, o clf_arvore.score(x_test, y_test) vai dar 0.7239583333333334

1 resposta

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

Você está correto. A forma como está colocado o SEED, não está sendo útil pois no train_test_split o parâmetro random_state não está sendo definido e por isso, sempre irá surgir uma combinação aleatória. Mas outra opção para esse caso é definir o random_state no método train_test_split:

from sklearn.model_selection import train_test_split

SEED = 4121988
x_treino, x_teste, y_treino, y_teste = train_test_split(x, y, random_state = SEED)

No caso do código da aula, o SEED só é mesmo utilizado na definição do modelo em clf_arvore = DecisionTreeClassifier(random_state=SEED, max_depth=3) por causa do parâmetro random_state=SEED.

Mesmo assim, utilizar np.random.seed(SEED) é uma ótima opção para não ter que sempre definir o parâmetro random_state toda vez que for chamar algum método. Parabéns, e muito obrigada por compartilhar aqui sua resposta! Vou comunicar isso a equipe responsável para que sejam feitos os devidos ajustes ;-)

Bons estudos!