XGBoost e LigthGBM no modelo de decisão de crédito
No artigo “Decisão de crédito utilizando machine learning e visão computacional” foi demonstrada a utilização de técnicas de inteligência artificial para um sistema modelo de análise e decisão de crédito.
O artigo demonstra a utilização de APIs e bibliotecas para reconhecer uma pessoa à partir de uma foto, extrair idade e gênero e realizar marcações como os pontos fiduciais.
Um dos pontos do artigo citado, no qual iremos abordar com mais detalhes, é a criação e treinamento de modelos de predição de score para tomada de decisão. Na primeira versão utilizamos os algoritmos RandomForest e GradientBoosting, mas será que eles são mesmo a melhor opção? 🤔
Nesta nova versão, novos algoritmos foram testados e o score de cada um deles foi comparado, tanto para classificação quanto para regressão.
Uma lista com vários algoritmos implementados na biblioteca sklearn você pode encontrar pelo link: https://scikit-learn.org/stable/modules/classes.html#module-sklearn.ensemble
RandomForest e GradientBoosting são “figurinhas carimbadas” nas disciplinas de Machine Learning, que resolvem grande parte dos problemas de mercado, entregando uma acurácia aceitável pelo seu tempo de treinamento.
Com base na indicação do professor Me. Felipe Teodoro e, nos recentes resultados destas bibliotecas em competições de aprendizado de máquina, os dois outros algoritmos são: XGBoost e Light GBM.
É possível encontrar mais sobre as competições e os resultados nos links de cada um dos algoritmos acima.
Como explicado no artigo anterior sobre o tema, com a atualização do modelo o GitHub Action se encarrega de realizar o Build e o Deploy da aplicação. Um dos passos deste processo é o treinamento do modelo, disponível clicando aqui, em que temos o seguinte resultado:
model_1_randomforest_classifier accuracy: 0.8600333333333333
model_1_xgboost_classifier accuracy: 0.8746
model_1_lightgbm_classifier accuracy: 0.8762666666666666
model_1_gradientboosting_classifier accuracy: 0.8768333333333334
model_1_randomforest_regressor accuracy: 0.5901592249304006
model_1_xgboost_regressor accuracy: 0.6371604287220034
model_1_lightgbm_regressor accuracy: 0.6450610561426381
model_1_gradientboosting_regressor accuracy: 0.6329410198786587
model_2_randomforest_classifier accuracy: 0.8464333333333334
model_2_xgboost_classifier accuracy: 0.8633333333333333
model_2_lightgbm_classifier accuracy: 0.8649666666666667
model_2_gradientboosting_classifier accuracy: 0.8657666666666667
model_2_randomforest_regressor accuracy: 0.5519534871968672
model_2_xgboost_regressor accuracy: 0.6072325295143952
model_2_lightgbm_regressor accuracy: 0.6134725152532305
model_2_gradientboosting_regressor accuracy: 0.6069039918997955
Código completo: