训练分类模型
学习目标
使用 SAP HANA 的 PAL 功能训练分类模型,并了解如何使用不同的设置对其进行微调。
为功能/数据列 'FlightRisk' 训练混合梯度提升树 (HGBT) 分类模型
SAP HANA PAL 统一分类功能 [1] 提供了一种有效的方法来训练具有以下增强功能的分类模型:
在分类算法之间无缝切换
自动数据集分区
内置模型评估程序
支持附加评估指标
对于此任务,通过将 'func' 参数设置为 'HybridGradientBoostingTree' 来选择混合梯度提升树 (HGBT) 算法。最后,显示训练时间,即将模型拟合到训练数据集所需的时间。
# 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
参考
[1]SAP 类 hana_ml.algorithms.pal.unified_classification.UnifiedClassification.UnifiedClassification
审核模型训练结果
PAL/APL 报表生成器用于评估模型性能。目前,它仅支持 UnifiedClassification 和 UnifiedRegression 模型 [1]。
存在多种分类性能指标,其中AUC-ROC(接收器操作特征曲线下的面积) [2] 是最广泛使用之一。该指标范围从 0 到 1,评估二进制分类模型区分正类和负类的能力。AUC 值越接近 1,模型在分隔类方面的表现就越好。
在以下显示的报表中,在统计表的统计标签下,观察到 AUC 值为 0.95。此外,AUC-ROC 图可在*"评分指标*"选项卡下进行可视化。
变量重要性标签显示功能重要性饼图,该饼图根据评分对预测目标变量 [3] 的贡献向输入功能分配评分。评分越高表示对模型预测的影响越大,重要性值范围在 0 到 1 之间。
在结果中,'PREVIOUS_COUNTRY' 的重要性最高分数为 0.23,然后是 'FUNCTIONALAREACHANGETYPE' 为 0.21。
# Build Model Report
UnifiedReport(hgbc).build().display()
统一分类模型报表:统计 - 统计表
统计名称 |
统计值 |
CLASS |
|---|---|---|
AUC |
0.9509 |
无 |
准确性 |
0.9193 |
无 |
KAPPA |
0.4390 |
无 |
MCC |
0.4951 |
无 |



参考
[1]SAP 类 hana_ml.visualizers.unified_report.UnifiedReport
[3]SAP 类 hana_ml.algorithms.pal.unified_classification.UnifiedClassification.UnifiedClassification
AUC 值
我们还可以使用一行代码获取 AUC 值,如下所示:
hgbc.get_performance_metrics()\['AUC'\]
0.9509