1
resposta

[Desafio]: hora da prática

import pandas as pd

dados = pd.read_csv(r'raw\diabetes.csv')
X = dados.drop(columns='diabetes')
y = dados['diabetes']

from sklearn.model_selection import train_test_split
X, X_teste, y, y_teste = train_test_split(X, y, stratify=y, test_size=0.05, random_state=5)
X_treino, x_validacao, y_treino, y_validacao = train_test_split(X, y, stratify=y, random_state=5)

from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.dummy import DummyClassifier

dummy = DummyClassifier()
dtc = DecisionTreeClassifier(max_depth=3)
rfc = RandomForestClassifier(max_depth=2)

dummy.fit(X_treino, y_treino)
dtc.fit(X_treino, y_treino)
rfc.fit(X_treino, y_treino)

print(f'Acurária da DummyClassifier: {dummy.score(X_teste, y_teste)}')
print(f'Acurácia de validação: {dummy.score(x_validacao, y_validacao)}\n')
print(f'Acurária da RandomForestClassifier: {rfc.score(X_teste, y_teste)}')
print(f'Acurácia de validação: {rfc.score(x_validacao, y_validacao)}\n')
print(f'Acurária da DecisionTreeClassifier: {dtc.score(X_teste, y_teste)}')
print(f'Acurácia de validação: {dtc.score(x_validacao, y_validacao)}')

from sklearn.metrics import confusion_matrix,  ConfusionMatrixDisplay

y_previsto = dummy.predict(x_validacao)
matriz_confusao = confusion_matrix(y_validacao, y_previsto)
visualizacao = ConfusionMatrixDisplay(confusion_matrix=matriz_confusao, display_labels=['Sim', 'Não'])
visualizacao.plot();

y_previsto = rfc.predict(x_validacao)
matriz_confusao = confusion_matrix(y_validacao, y_previsto)
visualizacao = ConfusionMatrixDisplay(confusion_matrix=matriz_confusao, display_labels=['Sim', 'Não'])
visualizacao.plot();

y_previsto = dtc.predict(x_validacao)
matriz_confusao = confusion_matrix(y_validacao, y_previsto)
visualizacao = ConfusionMatrixDisplay(confusion_matrix=matriz_confusao, display_labels=['Sim', 'Não'])
visualizacao.plot();
1 resposta

Oi, Luan! Como vai?

Agradeço por compartilhar.

Gostei de como você estruturou os modelos e comparou suas métricas. Do jeito que você explicou, ficou claro que você buscou avaliar tanto a acurácia quanto a matriz de confusão, o que ajuda bastante na interpretação dos resultados. Continue testando diferentes profundidades e modelos, isso fortalece muito o entendimento.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!