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