1
resposta

[Sugestão] Avaliação do desempenho

Ao mudar o valor de 170 para 300 nas rodadas, diminuiu um pouco o valor do RMSE:

params = {
    "objective":
    "reg:squarederror",
    'colsample_bytree': 0.6,
    'max_depth': 3,
    'subsample': 1,
    'learning_rate': 0.3
}

modelo_final = xgb.train(
    params = params,
    dtrain = dtreino,
    num_boost_round = 300
)

y_pred = modelo_final.predict(dteste)

rmse = np.sqrt(mean_squared_error(dteste.get_label(), y_pred))
print(f"RMSE: {rmse:.2f}")

Saída: RMSE: 2897.00

1 resposta

Ei, William! Tudo bem?

Que bom que você está explorando diferentes configurações, parabéns! Quando você aumentou o número de rodadas de 170 para 300 e observou uma diminuição no RMSE, isso indica que o modelo teve mais oportunidades para ajustar seus parâmetros e melhorar a previsão.

Uma dica para não aumentar o risco de overfitting, onde o modelo se ajusta muito bem aos dados de treinamento, mas não generaliza bem para novos dados, é considerar algumas abordagens adicionais:

  1. Utilize a validação cruzada para avaliar o desempenho do modelo de forma mais robusta. Isso ajuda a garantir que o modelo generalize bem para dados não vistos.

  2. Configure o parâmetro early_stopping_rounds para interromper o treinamento se o erro de validação não melhorar após um certo número de rodadas. Isso pode ajudar a evitar o overfitting.

  3. Ajustar outros hiperparâmetros, como max_depth, min_child_weight, e gamma, para ver se você consegue melhorar ainda mais o desempenho sem aumentar muito o número de rodadas.

  4. Monitore o desempenho do modelo tanto nos dados de treinamento quanto nos dados de validação para verificar se há sinais de overfitting.

Continue se dedicando aos estudos e qualquer dúvida, compartilhe conosco.

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