模型设置¶
enable_constant_model
¶
Constant Models
指定是否启用 constant models. 此项设置默认设置为 Auto (启用)。
enable_decision_tree
¶
Decision Tree Models
指定是否构建决策树模型并将其作为实验的一部分。此项设置默认设置为 Auto 。在这种情况下,如果可解释性大于或等于 decision_tree_interpretability_switch
的值(默认设置为 7)并且准确度小于或等于 decision_tree_accuracy_switch
的值(默认设置为 7),则 Driverless AI 将构建决策树模型。
enable_glm
¶
GLM Models
指定是否构建 GLM 模型(广义线性模型)并将其作为实验的一部分(除非专门使用此模型,否则通常仅将其用于最终模型)。GLM 模型是可解释性较高的模型,其中每个特征都有一个系数,模型中还包括一个截距项和一个链接函数。此项设置默认为 Auto (如果准确度小于或等于 5 且可解释性大于或等于 6,则启用此项设置)。
enable_xgboost_gbm
¶
XGBoost GBM Models
指定是否构建 XGBoost 模型并将其作为实验的一部分(适用于特征工程部分和最终模型)。XGBoost 是一种梯度提升的方法,由于其较好的正则化技术和高准确度,近年来取得了巨大的成功。此项设置默认设置为 Auto 。在这种情况下,除非行数 * 列数的值大于阈值,否则 Driverless AI 将使用 XGBoost 模型。此阈值属于配置设置,对于 CPU,默认设置为 100 M,对于 GPU,默认设置为 30 M。
enable_lightgbm
¶
LightGBM Models
指定是否构建 LightGBM 模型并将其作为实验的一部分。LightGBM 模型是默认模型。此项设置默认设置为 Auto (启用)。
enable_xgboost_dart
¶
XGBoost Dart Models
指定是否在构建实验模型时使用 XGBoost 的 Dart 方法(适用于特征工程部分和最终模型)。此项设置默认设置为 Auto (禁用)。
enable_xgboost_rapids
¶
Enable RAPIDS-cuDF extensions to XGBoost GBM/Dart
指定是否对 XGBoost GBM/Dart 启用 RAPIDS 扩展。如果选择,则 python 评分包仅可在 GPU 系统上使用 。等效的 config.toml 参数为 enable_xgboost_rapids
,默认值为 False。由于 dask_cudf 和 xgboost 中存在 bug,dask 多节点模型已禁用。
enable_xgboost_rf
¶
Enable XGBoost RF model
指定是否在不使用早停法的情况下启用 XGBoost RF 模式。除非打开,否则会禁用此项设置。
enable_xgboost_gbm_dask
¶
Enable Dask_cuDF (multi-GPU) XGBoost GBM
指定是否启用 XGBoost GBM 的 Dask_cudf(多 GPU)版本。除非打开,否则会禁用此项设置。此版本仅适用于不使用早停法的单个最终模型。 无法使用 Shapley 值法 。等效的 config.toml 参数为 enable_xgboost_gbm_dask
,默认值为 “auto”。
enable_xgboost_dart_dask
¶
Enable Dask_cuDF (multi-GPU) XGBoost Dart
指定是否启用 XGBoost GBM/Dart 的 Dask_cudf(多 GPU)版本。除非开启,否则会禁用此项设置。此版本仅适用于不使用早停法的单个最终模型。 无法使用 Shapley 值法 。等效的 config.toml 参数为 enable_xgboost_dart_dask
,默认值为 “auto”。建议在多个 gpu 上运行 Dask_cudf;如果出于调试目的,用户希望在 1 个 GPU 上启用此版本,则通过 config.toml 设置将 use_dask_for_1_gpu
设置为 True 即可。
enable_lightgbm_dask
¶
Enable Dask (multi-node) LightGBM
指定是否启用多节点 LightGBM。除非开启,否则默认会禁用此项设置。等效的 config.toml 参数为 enable_lightgbm_dask
,且默认值为 “auto”。
若要启用多节点 Dask,请参阅 Dask Multinode Training.
enable_hyperopt_dask
¶
Enable Dask (multi-node/multi-GPU) hyperparameter search
指定是否启用超参数搜索的 Dask(多节点/多 GPU)版本。目前,设置为 “auto” 和 “on” 具有相同作用。如果满足以下条件,则启用超参数搜索的 Dask 模式:
具有一个 Dask multinode cluster 或多 GPU 节点,并且每个模型各使用 1 个 GPU(请参阅 num_gpus_per_model)。
尚未使用 Dask 模型。
等效的 config.toml 参数为 enable_hyperopt_dask
,默认值为 “auto” 。
num_inner_hyperopt_trials_prefinal
¶
Number of trials for hyperparameter optimization during model tuning only
指定用于模型调优和演变的 Optuna 超参数优化的尝试次数。如果使用 RAPIDS 或 DASK,则此参数将指定 XGBoost GBM/Dart 和 LightGBM 中超参数优化的尝试次数,并且超参数优化会在整个过程中将数据保留在 GPU 上。
0 次表示不尝试。对于小数据,100 次是比较合适的,而对于大数据,如果需要快速得到结果,则较小的值较为合理。如果使用 RAPIDS 或 DASK,则超参数优化在整个过程中将保留在 GPU 上。等效的 config.toml 参数为 num_inner_hyperopt_trials_prefinal
,默认值为 0 。
请注意,当 DAI 中存在内部模型拟合/预测之外的较大开销(即,各种文件、进程和其他 DAI 管理进程)时,此项设置尤为有用,因此可以在没有此开销的情况下进行调优。但是,在进行调优或演变时,可能会在单个折叠上呈现过度拟合的现象,而如果使用交叉验证,则对折叠参数求平均值可能会导致得到不符合预期的结果。
num_inner_hyperopt_trials_final
¶
Number of trials for hyperparameter optimization for final model only
用于最终模型的 Optuna 超参数优化的尝试次数。如果使用 RAPIDS 或 DASK,则为 XGBoost GBM/Dart 和 LightGBM 中 rapids-cudf 超参数优化的尝试次数,并且超参数优化会在整个过程中将数据保留在 GPU 上。
0 次表示不尝试。对于小数据,100 次是合适的选择,而对于大数据,如果需要快速得到结果,则较小的值较为合理。即使 num_inner_hyperopt_trials=0,此项设置仍然仅适用于最终模型。等效的 config.toml 参数为 num_inner_hyperopt_trials_final
,且默认值为 0 。
num_hyperopt_individuals_final
¶
Number of individuals in final ensemble to use Optuna on
最终模型中需使用 Optuna 超参数调优进行优化的单个模型的数量(给定基本模型的所有折叠/重复)。默认值为 -1,表示全部。设置为 0,表示没有选择 Optuna 尝试。可能仅有利于优化集成模型中最佳单个模型的超参数(即,数值设置为 1)。
默认值为 -1,表示全部。等效的 config.toml 参数为 num_hyperopt_individuals_final
optuna_pruner
¶
Optuna Pruners
Optuna Pruner 算法用于提前终止难以得到好结果的尝试(适用于支持 Optuna 回调的 XGBoost 和 LightGBM 模型)。默认设置为 MedianPruner 。选择 None(无)即可禁用此算法。
等效的 config.toml 参数为 optuna_pruner
optuna_sampler
¶
Optuna Samplers
Optuna Sampler 算法用于缩小并优化搜索空间(适用于支持 Optuna 回调的 XGBoost 和 LightGBM 模型)。默认设置为 TPESampler 。选择 None(无)即可禁用此算法。
等效的 config.toml 参数为 optuna_sampler
enable_xgboost_hyperopt_callback
¶
Enable Optuna XGBoost Pruning callback
指定是否启用 Optuna 的 XGBoos 剪枝回调以中止难以得到好结果的运行。默认设置为 True。对学习率进行调优时,不会启用此项设置。
等效的 config.toml 参数为 enable_xgboost_hyperopt_callback
enable_lightgbm_hyperopt_callback
¶
Enable Optuna LightGBM Pruning callback
指定是否启用 Optuna 的 LightGBM 剪枝回调以中止难以得到好结果的运行。默认设置为 True。对学习率进行调优时,不会启用此项设置。
等效的 config.toml 参数为 enable_lightgbm_hyperopt_callback
enable_tensorflow
¶
TensorFlow Models
指定是否构建 TensorFlow 模型,并将其作为实验的一部分(除非专门使用此模型,否则通常仅将其用于文本特征工程和最终模型)。在 NLP 实验中启用此选项。此选项默认设置为 自动 (除非类数大于 10,否则不使用此选项)。
Java MOJO 模型暂不支持使用 TensorFlow 模型(仅支持 Python 评分管道和 C++ MOJO)。
enable_grownet
¶
PyTorch GrowNet Models
指定是否启用基于 PyTorch 的 GrowNet 模型。此参数默认设置为 自动 ,即 Driverless 在内部决定实验是否使用算法。将其设置为 开启 可强制实验构建 GrowNet 模型。
enable_ftrl
¶
FTRL Models
指定是否构建 Follow the Regularized Leader (FTRL) 模型并将其作为实验的一部分。请注意,暂不支持使用 MOJO 模型(仅支持使用 Python 评分管道)。FTRL 支持分类目标的二元分类和多类分类,以及连续目标的回归实验。此项设置默认为 Auto (禁用)。
enable_rulefit
¶
RuleFit Models
指定是否构建 RuleFit 模型并将其作为实验的一部分。请注意,暂不支持使用 MOJO 模型(仅支持使用 Python 评分管道)。此外,RuleFit 暂不支持多类分类。目前,规则均存储于实验目录的文本文件中。此项设置默认为 Auto (禁用)。
enable_zero_inflated_models
¶
Zero-Inflated Models
指定是否允许为具有零膨胀目标值(满足一定条件)的回归问题启用 zero-inflated models 自动添加:
y >= 0, y.std() > y.mean()")
此项设置默认设置为 Auto 。
enable_lightgbm_boosting_types
¶
LightGBM Boosting Types
指定要为 LightGBM 启用的提升类型。选择以下一种或多种类型:
gbdt:提升树
rf_early_stopping:使用早停法的随机森林
rf: Random Forest
dart:未使用早停法的 Dropout(丢弃)提升树
gbdt 和 rf 均默认设置为启用。
enable_lightgbm_cat_support
¶
LightGBM Categorical Support
指定是否启用 LightGBM 分类特征支持。默认禁用此项设置。
请注意:
仅支持 CPU。
启用此项设置时不会构建 MOJO 模型。
enable_lightgbm_cuda_support
¶
LightGBM CUDA Support
指定是否允许执行 LightGBM CUDA 而不是 OpenCL。Linux x86-64 环境支持使用 LightGBM CUDA。
show_constant_model
¶
Whether to Show Constant Models in Iteration Panel
指定是否在“迭代”面板中显示常量模型。默认会禁用此项设置。
params_tensorflow
¶
Parameters for TensorFlow
为 TensorFlow 指定特定参数以覆盖 Driverless AI 参数。以下示例展示了如何配置参数:
params_tensorflow = '{'lr': 0.01, 'add_wide': False, 'add_attention': True, 'epochs': 30,
'layers': [100, 100], 'activation': 'selu', 'batch_size': 64, 'chunk_size': 1000, 'dropout': 0.3,
'strategy': 'one_shot', 'l1': 0.0, 'l2': 0.0, 'ort_loss': 0.5, 'ort_loss_tau': 0.01, 'normalize_type': 'streaming'}'
以下示例展示了如何配置层:
[500, 500, 500], [100, 100, 100], [100, 100], [50, 50]
更多关于 TensorFlow 参数的信息,请查阅 Keras 文档 。使用 TensorFlow 参数的不同策略可在 此处 查看。
max_nestimators
¶
Max Number of Trees/Iterations
指定树 (GBM) 或迭代 (GLM) 的数量上限。默认值为 3000。根据准确度设置,将使用此限制数量的一小部分。
n_estimators_list_no_early_stopping
¶
n_estimators List to Sample From for Model Mutations for Models That Do Not Use Early Stopping
对于 LightGBM,dart 和普通随机森林模式不使用早停法。此项设置让您能指定 n_estimators
(森林中树的数量)列表,以从这些模型类型的模型突变中抽样。
min_learning_rate_final
¶
Minimum Learning Rate for Final Ensemble GBM Models
默认值为 0.01。这是最终集成的 GBM 模型的学习率下限。在某些情况下,树/迭代的最大数量不足以满足最终学习率,这可能导致不会触发早停法,且得到较差的最终模型性能。因此,可尝试通过提高此最小值来提高学习率,或可尝试提高树/迭代的最大数量。
max_learning_rate_final
¶
Maximum Learning Rate for Final Ensemble GBM Models
指定最终集成的 GBM 模型的学习率最大值(上限)。默认值为 0.05。
max_nestimators_feature_evolution_factor
¶
Reduction Factor for Max Number of Trees/Iterations During Feature Evolution
指定一个因数, max_nestimators 设置所指定的值将按此因数减小以进行调优和特征演变。此选项默认设置为 0.2。因此在默认情况下,Driverless AI 在特征演变期间将生成不超过 0.2 * 3000 个树/迭代。
max_abs_score_delta_train_valid
¶
Max. absolute delta between training and validation scores for tree models
修改基于树的模型(LightGBM、XGBoostGBM、CatBoost)的提前停止行为,以使训练分数(在训练数据上,而非保持)与验证分数之差不超过此绝对值(即 stop adding trees once abs(train_score - valid_score) > max_abs_score_delta_train_valid)。记住,此值的含义取决于所选评分器和数据集(也就是说,LogLoss 的 0.01 不同于 MSE 的 0.01)。此选项为实验性,仅供专家用于保持模型的低复杂性。若要禁用,将其设置为 0.0。默认禁用此选项。
max_rel_score_delta_train_valid
¶
Max. relative delta between training and validation scores for tree models
修改基于树的模型(LightGBM、XGBoostGBM、CatBoost)的提前停止行为,以使训练分数(在训练数据上,而非保持)与验证分数之差不超过此相对值(即 stop adding trees once abs(train_score - valid_score) > max_rel_score_delta_train_valid * abs(train_score))。记住,此值的含义取决于所选评分器和数据集(也就是说,LogLoss 的 0.01 不同于 MSE 的 0.01 等)。此选项为实验性,仅供专家用于保持模型的低复杂性。若要禁用,将其设置为 0.0。默认禁用此选项。
min_learning_rate
¶
Minimum Learning Rate for Feature Engineering GBM Models
指定特征工程 GBM 模型的学习率最小值。默认值为 0.05。
max_learning_rate
¶
Max Learning Rate for Tree Models
指定特征工程期间树模型的最大学习率。值较高,则可加速特征工程,但是可能会损害准确度。默认值为 0.5。
max_epochs
¶
Max Number of Epochs for TensorFlow/FTRL
在构建 TensorFlow 或 FTRL 模型时,指定用于训练模型的最大时期数(可能会提前终止)。默认值为 10。如果禁用了 TensorFlow 模型 和/或 FTRL 模型,则忽略此选项。
max_max_depth
¶
Max Tree Depth
指定最大树深度。max_leaves
相对应的最大值为指定值的两倍。默认值为 12。
max_max_bin
¶
Max max_bin for Tree Features
指定树特征的 max_bin
最大值。默认值为 256。
rulefit_max_num_rules
¶
Max Number of Rules for RuleFit
指定用于 RuleFit 模型的最大规则数量。默认值为 -1,即指定使用所有规则。
ensemble_meta_learner
¶
Ensemble Level for Final Modeling Pipeline
要组合基本模型的预测结果的模型,适用于创建由多个基本模型组成的最终管道的实验:
混合器:创建线性混合,其中非负权重合计为 1(混合)- 推荐
extra_trees:创建树模型来以非线性组合基本模型(堆叠)-实验性,推荐额外设置启用 cross_validate_meta_learner.
fixed_ensemble_level
¶
Ensemble Level for Final Modeling Pipeline
指定以下集成级别之一:
-1 = 自动,基于 ensemble_accuracy_switch、准确度、数据大小等(默认)
0= 无集成,仅包括经验证迭代/树的最终单个模型。请注意,保持预测概率将不可用。(更多信息,请参阅 FAQ. )
1 = 1 个模型,多个集成折叠(交叉验证)
2 = 2 个模型,多个集成折叠(交叉验证)
3 = 3 个模型,多个集成折叠(交叉验证)
4 = 4 个模型,多个集成折叠(交叉验证)
等效的 config.toml 参数为 fixed_ensemble_level
.
cross_validate_meta_learner
¶
Ensemble Level for Final Modeling Pipeline
如果启用,使用交叉验证为元学习器本身创建集成。特别推荐用于 ensemble_meta_learner=’extra_trees’ ,以便进行无偏差的训练保持预测。如果启用此设置,将不会创建 MOJO。ensemble_meta_learner=’blender’ 不需要。
cross_validate_single_final_model
¶
Cross-Validate Single Final Model
Driverless AI 通常会为较低的准确度设置(通常小于 5)生成单个最终模型。启用 交叉验证单个最终模型 选项(常规实验设置的默认选项)时,Driverless AI 将执行交叉验证,以在使用整个训练数据训练最终单个建模管道之前先确定最优参数和早停法。最终管道将构建 \(N+1\) 个模型,并对单个最终模型执行 N 折交叉验证。这还为使用单个最终模型的所有非时间序列实验创建保持预测结果。
请注意,如果是时间序列实验或提供了验证数据集时,将忽略此选项的设置。
parameter_tuning_num_models
¶
Number of Models During Tuning Phase
指定在预演变阶段要进行调优的模型数量。指定较低的值以避免过度调优,或指定较高的值以执行增强调优。此选项默认设置为 -1(自动)。
imbalance_sampling_method
¶
Sampling Method for Imbalanced Binary Classification Problems
指定用于不平衡二元分类问题的抽样方法。此选项默认设置为 off 。从以下选项中选择:
auto:按需对两个类执行抽样,具体视数据而定
over_under_sampling:对少数类执行过抽样并对多数类执行欠抽样,具体视数据而定
under_sampling:对多数类执行欠抽样,以达到类别平衡
off:不执行任何抽样
此选项与不平衡 Light GBM 模型和不平衡 XGBoost GBM 模型具有密切的关系,可在“插件”选项卡中的 included_models 下启用或禁用此选项。
如果启用此选项(即设置为 off 以外的值)并且启用不平衡 LightGBM 模型和/或不平衡 XGBoostGBM 模型,则 Driverless AI 将检查您的目标不平衡分数值。如果目标分数值被证明高于所允许的不平衡阈值,则将会触发抽样。
如果启用此选项并且禁用不平衡 LightGBM 模型和/或不平衡 XGBoostGBM 模型,则将不执行任何特殊的抽样方法。此时将忽略此项设置。
imbalance_sampling_threshold_min_rows_original
¶
Threshold for Minimum Number of Rows in Original Training Data to Allow Imbalanced Sampling
指定原始训练数据中允许不平衡抽样的最小行数阈值。默认值为 100,000。
imbalance_ratio_sampling_threshold
¶
Ratio of Majority to Minority Class for Imbalanced Binary Classification to Trigger Special Sampling Techniques (if Enabled)
对于不平衡二元分类问题,指定多数类与少数类的比率。当比率等于或大于指定比率时,启用会进行抽样的特殊不平衡模型。默认值为 5。
heavy_imbalance_ratio_sampling_threshold
¶
Ratio of Majority to Minority Class for Heavily Imbalanced Binary Classification to Only Enable Special Sampling Techniques (if Enabled)
对于高度不平衡的二元分类问题,指定多数类与少数类的比率,等于或大于此指定值,则仅对完整的原始数据启用特殊不平衡模型,而不使用前置抽样。默认值为 25。
imbalance_sampling_number_of_bags
¶
Number of Bags for Sampling Methods for Imbalanced Binary Classification (if Enabled)
指定不平衡二元分类问题的抽样方法所使用的袋子数。默认值为 -1。
imbalance_sampling_max_number_of_bags
¶
Hard Limit on Number of Bags for Sampling Methods for Imbalanced Binary Classification
指定不平衡二元分类问题的抽样方法所使用的袋子数量限值。默认值为 10。
imbalance_sampling_max_number_of_bags_feature_evolution
¶
Hard Limit on Number of Bags for Sampling Methods for Imbalanced Binary Classification During Feature Evolution Phase
指定不平衡二元分类问题的抽样方法所使用的袋子数量限值。默认值为 3。请注意,此项设置仅适用于移位、泄露、调优和特征演变模型。若需限制最终模型,则使用 不平衡二元分类问题的抽样方法所使用的袋子数量硬限制 设置。
imbalance_sampling_max_multiple_data_size
¶
Max Size of Data Sampled During Imbalanced Sampling
根据数据集的大小,指定不平衡抽样过程中抽样数据的最大大小。此项设置可控制袋子的大致数量,并且仅当”特征演变阶段不平衡二元分类问题的抽样方法所使用的袋子数量硬限制”选项设置为 -1 时,方可启用。默认值为 1。
imbalance_sampling_target_minority_fraction
¶
Target Fraction of Minority Class After Applying Under/Over-Sampling Techniques
指定应用欠/过抽样方法后少数类的目标分数值。此数值设置为 0.5,则表示此模型/算法将得到平衡的目标类别分布。当从极度不平衡的原始目标开始时,指定一个较小的值(例如 0.1 或 0.01)可能会有所帮助。默认值为 -1。
ftrl_max_interaction_terms_per_degree
¶
Max Number of Automatic FTRL Interactions Terms for 2nd, 3rd, 4th order interactions terms (Each)
对自动 FTRL 交互项的数量进行的抽样不得超过此值(针对每个 2 阶、3 阶、4 阶项)。默认值为 10000。
enable_bootstrap
¶
Whether to Enable Bootstrap Sampling for Validation and Test Scores
指定是否启用自助抽样。启用后,此项设置可根据自助法平均值的标准误差对验证和测试评分提供误差线。默认会启用此项设置。
tensorflow_num_classes_switch
¶
For Classification Problems with This Many Classes, Default to TensorFlow
指定类别数,如果高于此数值,在启用此项设置时需使用 TensorFlow 模型。高于此数值时,将不会使用其他设置为 Auto 的模型。(但是,仍可使用设置为 on 的模型)。默认值为 10。
prediction_intervals
¶
Compute Prediction Intervals
指定是否根据保持预测结果来计算经验预测区间。默认会启用此项设置。
prediction_intervals_alpha
¶
Confidence Level for Prediction Intervals
指定预测区间的置信度。默认值为 0.9。
dump_modelparams_every_scored_indiv
¶
Enable detailed scored model info
是否将每个评分个体的模型参数转储至 csv/tabulated/json 文件,生成文件。例如:individual_scored.params.[txt, csv, json]