Treinamento do modelo de classificação

Objective

After completing this lesson, you will be able to treine um modelo de classificação usando as funções PAL do SAP HANA e entenda como ajustá-lo com diferentes configurações.

Treinamento de modelo de classificação de árvore de gradient boosting híbrido (HGBT) para característica/coluna de dados 'FlightRisk'

A função Classificação unificada PAL do SAP HANA [1] fornece uma maneira eficiente de treinar modelos de classificação com recursos aprimorados, como:

  • Alternância perfeita entre algoritmos de classificação
  • Particionamento automático de conjuntos de dados
  • Procedimentos de avaliação de modelo integrados
  • Suporte para métricas de avaliação adicionais

Para esta tarefa, o algoritmo Hybrid Gradient Boosting Tree (HGBT) é selecionado definindo o parâmetro 'func' como 'HybridGradientBoostingTree'. Por fim, é exibido o tempo de treinamento, ou seja, o tempo necessário para ajustar o modelo ao conjunto de dados de treinamento.

Code Snippet
123456789101112131415161718192021
# Train the classifer model using PAL HybridGradientBoostingTree # Initialize the model object hgbc = UnifiedClassification(func='HybridGradientBoostingTree', n_estimators = 101, split_threshold=0.1, learning_rate=0.1, max_depth=6, split_method='histogram', max_bin_num=256, feature_grouping=True, tolerant_iter_num=5, resampling_method='cv', fold_num=5, ref_metric=['auc'], evaluation_metric = 'error_rate') # Execute the training of the model # key= 'EMPLOYEE_ID', hgbc.fit(data=df_train.drop('EMPLOYEE_ID'), label='FLIGHT_RISK', partition_method='stratified', stratified_column='FLIGHT_RISK', training_percent=0.8, ntiles=20, build_report=True) display(hgbc.runtime)

1,82820272445678

Revisão dos resultados do treinamento do modelo

O gerador de relatórios PAL/APL é usado para avaliar o desempenho do modelo. Atualmente, ele suporta somente os modelos UnifiedClassification e UnifiedRegression[1].

Existem várias métricas de performance de classificação, sendo AUC-ROC (Área sob a curva de característica operacional receptora) [2] uma das mais utilizadas. Esta métrica, que varia de 0 a 1, avalia a capacidade de um modelo de classificação binária de distinguir entre classes positivas e negativas. Quanto mais próximo o valor IeA for de 1, melhor o desempenho do modelo na separação das classes.

No relatório exibido abaixo, na guia Estatísticas na Tabela de estatísticas, observa-se um valor AUC de 0,95. Além disso, o diagrama AUC-ROC está disponível para visualização na guia 'Métricas de avaliação'.

A guia Importância da variável apresenta um gráfico de pizza de importância do recurso, que atribui pontuações aos recursos de entrada com base em sua contribuição para prever a variável de destino [3]. Escores mais altos indicam maior influência nas previsões do modelo, com valores de importância variando entre 0 e 1.

A partir dos resultados, 'PREVIOUS_COUNTRY' tem o maior escore de importância de 0,23, seguido de 'FUNCTIONALAREACHANGETYPE' em 0,21.

Code Snippet
123
# Build Model Report UnifiedReport(hgbc).build().display()

Relatório de modelo de classificação unificado: estatística - tabela de estatísticas

NOME DO ESTADOSTAT VALUECLASS
IeA0,9509Nenhum
PRECISÃO0,9193Nenhum
KAPPA0,4390Nenhum
MCC0,4951Nenhum
Esta figura mostra um exemplo do gráfico de setores para Importância da variável
Esta figura mostra um exemplo do gráfico de barras para Importância da variável
Esta figura mostra um exemplo da curva ROC

Valor IeA

Também podemos obter o valor AUC usando uma linha de código, como mostrado abaixo:

hgbc.get_performance_metrics()['AUC']

0,9509