1
resposta

Exercício

from sklearn.dummy import DummyRegressor
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score
import numpy as np

def calcular_metricas_regressao(y_true, y_pred):
    rmse = np.sqrt(mean_squared_error(y_true, y_pred))
    mae = mean_absolute_error(y_true, y_pred)
    r2 = r2_score(y_true, y_pred)
    return {"RMSE": round(rmse, 2), "MAE": round(mae, 2), "R2 Score": round(r2, 2)}

estrategias = ["mean", "median", ("quantile", 0.25), ("constant", 10.0)]
resultados = {}

for estrategia in estrategias:
    if isinstance(estrategia, tuple):
        tipo, valor = estrategia
        if tipo == "quantile":
            model = DummyRegressor(strategy=tipo, quantile=valor)
        else:
            model = DummyRegressor(strategy=tipo, constant=valor)
    else:
        model = DummyRegressor(strategy=estrategia)

    model.fit(X_train, y_train)
    y_pred = model.predict(X_test)
    resultados[str(estrategia)] = calcular_metricas_regressao(y_test, y_pred)
import pandas as pd

df_resultados = pd.DataFrame(resultados).T
df_resultados

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oi, Mauro! Tudo bom?

Excelente! Siga praticando com os desafios e sempre compartilhe conosco.

Você soube aplicar as estratégias de regressão dummy de forma eficiente, aproveitou o DummyRegressor para construir uma base de comparação e entendeu como o uso de métricas como RMSE e R² é essencial para avaliar modelos preditivos de maneira confiável.

Como dica adicional, experimente utilizar o cross_val_score quando quiser avaliar o desempenho do seu modelo de forma confiável por meio da validação cruzada. Assim:

from sklearn.model_selection import cross_val_score
cross_val_score(model, X_train, y_train, scoring='neg_mean_squared_error', cv=5)

Com isso, você poderá observar a variação do desempenho do modelo e evitar conclusões precipitadas.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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