Percebi que durante a aula ele faz um fit com todos os dados do dataset... Estava estudando com um outro dataset e cheguei nesse ponto:
SEED = 301
np.random.seed(SEED)
parametros = {'max_depth': [3, 10, 20, 30],
'min_samples_leaf': [32, 64, 128],
'min_samples_split': [32, 64, 128],
'criterion': ['gini', 'entropy']}
resultado = GridSearchCV(DecisionTreeClassifier(), parametros, cv = KFold(n_splits = 10, shuffle = True))
scores = cross_val_score(resultado, x, y, cv = KFold(n_splits = 10, shuffle = True))
print('A média de acerto com o modelo de Árvore de decisão foi de: ', ((scores.mean())*100).round(2))
resultado.fit(x, y)
from sklearn.tree import export_graphviz
import graphviz
from sklearn.tree import plot_tree
features = x.columns
plt.figure(figsize = (15, 10))
plot_tree(resultado.best_estimator_, filled = True, rounded = True, class_names = ["setosa", "versicolor", "virginica"], feature_names = features)
Percebi que o resultado.best_estimator_ só funciona se o resultado tiver um fit() antes. Caso eu faça desse jeito eu prejudico de alguma forma o plot da minha árvore de decisão? Pode ser um plot muito otimista? (O dataset usado foi o da iris, bem famoso em Data Science)