Quando rodo o codigo do dummy stratified, o intervalo, que deveria ser [49.79, 53.45], está dando [58.00, 58.00]. Qual poderia ser o problema, sendo que eu peguei o projeto disponibilizado e a única alteração que eu fiz foi importar o numpy?
Quando rodo o codigo do dummy stratified, o intervalo, que deveria ser [49.79, 53.45], está dando [58.00, 58.00]. Qual poderia ser o problema, sendo que eu peguei o projeto disponibilizado e a única alteração que eu fiz foi importar o numpy?
Olá, Gabriel! Como vai?
Bem observado! Para obter o mesmo resultado do professor, você precisará usar a estratégia 'stratified'
no DummyClassifier
.
Vou deixar o código ajustado logo abaixo:
import pandas as pd
import numpy as np
from sklearn.model_selection import cross_validate
from sklearn.dummy import DummyClassifier
# Configuração do seed para reprodutibilidade
SEED = 301
np.random.seed(SEED)
# Carregando os dados
uri = "https://gist.githubusercontent.com/guilhermesilveira/e99a526b2e7ccc6c3b70f53db43a87d2/raw/1605fc74aa778066bf2e6695e24d53cf65f2f447/machine-learning-carros-simulacao.csv"
dados = pd.read_csv(uri).drop(columns=["Unnamed: 0"], axis=1)
# Simulação de uma situação onde as classes estão ordenadas
dados_azar = dados.sort_values("vendido", ascending=True)
x_azar = dados_azar[["preco", "idade_do_modelo", "km_por_ano"]]
y_azar = dados_azar["vendido"]
# Treinamento e validação com DummyClassifier usando estratégia 'stratified'
modelo = DummyClassifier(strategy='stratified')
results = cross_validate(modelo, x_azar, y_azar, cv=10, return_train_score=False)
# Cálculo da média e desvio padrão da acurácia
media = results['test_score'].mean()
desvio_padrao = results['test_score'].std()
# Exibindo os resultados com intervalos de confiança
print(f"Accuracy com DummyClassifier, 10 = [{(media - 2 * desvio_padrao) * 100:.2f}, {(media + 2 * desvio_padrao) * 100:.2f}]")
Desejo sucesso! Continue firme nos estudos! ✨✨