Na aula o professor utiliza alguns parametros para testar o modelo conforme abaixo:
grid = ParamGridBuilder() \
.addGrid(dtr.maxDepth, [2, 5, 10]) \
.addGrid(dtr.maxBins, [10, 32, 45]) \
.build()
Ao final, ele retorna o código abaixo para analisar as métricas Sem Cross Validation vs Com Cross Validation. Me gerou uma dúvida.. como descobrir qual parametro acima ([2, 5, 10] e [10, 32, 45]) foi escolhido como resultado final usando Cross Validation?
Gostaria de saber se existe alguma função que informa as métricas de R² e RMSE para cada parâmetro testado a fim de saber se dentre os parâmetros informados houve uma diferença significante. Pois as vezes a ténica pode escolher o parâmetro [10, 45] e o custo de processamento ser alto porém as métricas para os parâmetros [5, 32] não forem significativamente diferentes.
print('Decision Tree Regression')
print("="*30)
print("Sem Cross Validation")
print("="*30)
print("R²: %f" % evaluator.evaluate(previsoes_dtr_teste, {evaluator.metricName: "r2"}))
print("RMSE: %f" % evaluator.evaluate(previsoes_dtr_teste, {evaluator.metricName: "rmse"}))
print("")
print("="*30)
print("Com Cross Validation")
print("="*30)
print("R²: %f" % evaluator.evaluate(previsoes_dtr_cv_teste, {evaluator.metricName: "r2"}))
print("RMSE: %f" % evaluator.evaluate(previsoes_dtr_cv_teste, {evaluator.metricName: "rmse"}))