特征设置¶
feature_engineering_effort
¶
Feature Engineering Effort
指定 Driverless AI 特征工程工作量的值(0 到 10)。值越高,通常花费在特征工程上的时间(和内存)就越多。默认值为 5。
0:仅保留数值特征。仅在演变过程中进行模型调优。
1:仅保留数值特征和频率编码分类列。仅在演变过程中进行模型调优。
2:与 1 相似,但没有文本特征。在演变前对某些特征进行调优。
3:与 5 相似,但仅在演变过程中进行调优。对特征和模型参数进行混合调优。
4:与 5 相似,但略侧重于模型调优。
5:平衡的特征-模型调优。(默认)
6-7:与 5 相似,但略侧重于特征工程。
8:与 6 - 7 相似,但更侧重于具有较高特征生成率、即使可解释性较高也不会删除任何特征的特征工程。
9-10:与 8 相似,但在特征演变过程不会进行模型调优。
check_distribution_shift
¶
Data Distribution Shift Detection
:open:
指定 Driverless AI 是否应检测训练/验证/测试数据集(如有提供)之间的数据分布移位。当训练与测试数据集(或训练/验证或验证/测试)在数据分布方面存在差异时,可构建一个高准确度模型,用以区分每一行是属于训练数据集还是属于测试数据集。目前,仅向用户显示此信息,但用户不可操作。
应该删除移位的特征。或者,通过将它们用作标签或分箱来创建更有意义的聚合特征。
check_distribution_shift_drop
¶
Data Distribution Shift Detection Drop of Features
指定是否删除高移位的特征。此选项默认设置为 自动 。请注意,对于时间序列实验,自动选项将禁用此特征。
另请参阅 drop_features_distribution_shift_threshold_auc 和 check_distribution_shift.
drop_features_distribution_shift_threshold_auc
¶
Max Allowed Feature Shift (AUC) Before Dropping Feature
删除某个特征前,需指定此特征的最大允许 AUC 值。
当训练和测试数据集(或训练/验证或验证/测试)在数据分布方面存在差异时,可构建一个能区分每一行是属于训练集还是属于测试集的模型。此模型包括 AUC 值。如果此模型的 AUC 、GINI 或斯皮尔曼相关系数高于指定阈值,则 Driverless AI 会认为此移位影响足够大而删除这些特征。
默认 AUC 阈值为 0.999。
check_leakage
¶
Data Leakage Detection
指定是否针对每个特征检查数据泄露。某些特征可能对目标列有过高的预测能力。这可能会影响模型的泛化。Driverless AI 运行模型来确定每个特征在目标变量上的预测能力。然后,针对每个具有重大变量重要性的特征建立一个简单模型。将高 AUC(用于分类)或 R2 评分(回归)的模型作为潜在泄漏报告给用户。
请注意,如果指定了折叠列并且实验属于时间序列实验,则会始终禁用此项设置。此项设置默认为 自动 。
等效的 config.toml 参数为 check_leakage
. 另请参阅 drop_features_leakage_threshold_auc
drop_features_leakage_threshold_auc
¶
Data Leakage Detection Dropping AUC/R2 Threshold
如果启用 Leakage Detection,则需指定删除特征的阈值。当 AUC(如果是回归问题,则为 R2)、GINI 或斯皮尔曼相关系数高于此值时,将删除特征。默认值为 0.999。
等效的 config.toml 参数为 drop_features_leakage_threshold_auc
.
leakage_max_data_size
¶
Max Rows X Columns for Leakage
指定触发泄露检查抽样的最大(行 x 列)数量。默认值为 10,000,000。
max_features_importance
¶
Max. num. features for variable importance
指定重要性表格中要使用和显示的最大特征数。对于任何高于 1 的可解释性,始终会移除其重要性低于顶部 max_features_importance 特征的转换或原始特征。相应地,转换或原始特征的特征重要性也会被削减。对于 100 列以上的数据集,值越高,会导致性能会越低,所使用的磁盘空间也会越大。
enable_wide_rules
¶
Enable Wide Rules
启用各种规则以处理宽数据集(即,列数 > 行数)。此项设置默认设置为”自动”,当检测到列数高于行数时,将自动启用宽数据集规则。
当设置为”开启”时,可不顾任何条件而强制启用这些规则。启用宽数据集规则会将所有的 max_cols
、max_orig_*col
和 fs_orig*
toml 设置为较大的值,并强制禁用单调性约束,除非设置 monotonicity_constraints_dict
或更改 monotonicity_constraints_interpretability_switch
的默认值。此外,还将禁用移位检测和数据泄露检测,并允许将 Xgboost Random Forest model 用于建模。
若需禁用宽数据集规则,则将 enable_wide_rules 设置为 “关闭” 。对于数据大部分或完全为数值的数据集,建议仅选择 OriginalTransformer 确保更快的速度(请参阅 included_transformers)。
关于快速运行模型,另请参阅 Driverless AI 中的宽数据集.
orig_features_fs_report
¶
Report Permutation Importance on Original Features
指定 Driverless AI 是否在日志和报告文件中报告原始特征的排列重要性(在所选指标中表示为规范化变化)。默认会禁用此项设置。
max_rows_fs
¶
Maximum Number of Rows to Perform Permutation-Based Feature Selection
指定执行排列特征重要性时的最大行数,此数量可通过(分层)随机抽样进行缩减。默认值为 500,000。
max_orig_cols_selected
¶
Max Number of Original Features Used
使用 特征选择 指定需从一组现有列中选择的最大列数。默认值为 10,000000。对于分类列,此选择基于分类列和被视为分类列的数值列目标编码(如果不可用,则为频率编码)的有效程度。这有助于降低最终模型的复杂性。首先会使用特征选择方法找到最佳 [max_orig_cols_selected],然后将这些特征用于特征演变(以衍生其他特征)和建模。
max_orig_nonnumeric_cols_selected
¶
Max Number of Original Non-Numeric Features
所选择的最大非数值列数量,超过此数值,则将对所有特征执行特征选择并避免如上述情形般 (max_orig_numeric_cols_selected) 将数值列作为分类列处理,但可将其用于分类列。超过此数值时,将对所有特征执行特征选择。默认值为 300。
fs_orig_cols_selected
¶
Max Number of Original Features Used for FS Individual
指定您想要在实验中选择的最大特征数量。默认值为 10,0000000。超过此指定值后,会导致添加减少了原始列的特殊个体模型。
fs_orig_numeric_cols_selected
¶
Number of Original Numeric Features to Trigger Feature Selection Model Type
原始数值列的最大数量,超过此数值,则 Driverless AI 将执行特征选择。请注意,这仅适用于减少了原始列的特殊个体模型。genetic algorithm 中单独的个体模型将通过按原始特征的排列重要性执行特征选择来构建。默认值为 10,000000。
fs_orig_nonnumeric_cols_selected
¶
Number of Original Non-Numeric Features to Trigger Feature Selection Model Type
原始非数值列的最大数量,超过此数值,则 Driverless AI 将对所有特征执行特征选择。请注意,这仅适用于减少了原始列的特殊个体模型。genetic algorithm 中单独的个体模型将通过按原始特征的排列重要性执行特征选择来构建。默认值为 200。
max_relative_cardinality
¶
Max Allowed Fraction of Uniques for Integer and Categorical Columns
指定整数列和分类列唯一值的最大分数。如果某列的唯一值分数大于指定值,则将其视为 ID 列并予以忽略。默认值为 0.95。
num_as_cat
¶
Allow Treating Numerical as Categorical
指定是否允许将某些数值特征作为分类特征。默认会启用此项设置。
等效的 config.toml 参数为 num_as_cat
.
max_int_as_cat_uniques
¶
Max Number of Unique Values for Int/Float to be Categoricals
指定要被作为分类列处理的整数列或实数列的唯一值数量。默认值为 50。
max_fraction_invalid_numeric
¶
Max. fraction of numeric values to be non-numeric (and not missing) for a column to still be considered numeric
当非数字(和非缺失)值的分数小于或等于此值时,应考虑列数值。可以帮助解决实验数据质量的次要问题,但由于可能会发生类型不一致,不建议用于生产。请注意 :在实验开始时用缺失值替换了非数字值,因此丢失了一些信息,但现在列被视为数字,可以提供帮助。如果 < 0 则被禁用。
nfeatures_max
¶
Max Number of Engineered Features
指定每个模型要包含的特征的最大数量(并且如果是集成模型,则为最终模型中每个模型所包含的特征的最大数量)。每次评分后,基于此参数值,保留变量重要性居前列的特征,并修剪掉其他特征。最终的集成模型将不包括任何被修剪掉的特征,仅对保留的特征进行训练,但是由于对不同数据视图(例如新聚类)进行拟合,因此此模型可能包含一些新特征。最终评分管道将不包含任何被修剪掉的特征,但是由于对不同数据视图(例如新聚类)进行拟合,因此此模型可能包含一些新特征。
默认值为 -1,表示除内部确定的内存和可解释性限制外,此参数不受其他限制。
请注意:
如果
interpretability
>remove_scored_0gain_genes_in_postprocessing_above_interpretability
(请参阅 config.toml),则每次 GA (genetic algorithm) 迭代将在对特征进行评分后立即对其进行后处理,将其降低至此值。否则,将仅修剪所评分的个体模型的突变部分(直至修剪为严格应用限制值的最终模型。)如果同样未限制
ngenes_max
,则某些个体模型将具有更多的基因和特征,直至由于突变或准备最终模型而进行修剪。例如,通常为了将每次迭代确切限制为 1 个特征,必须设置
nfeatures_max
=ngenes_max
= 1 和remove_scored_0gain_genes_in_postprocessing_above_interpretability
= 0,但是这样遗传算法将很难找到良好特征。
等效的 config.toml 参数为 nfeatures_max
(另请参阅 config.toml 中的 nfeatures_max_threshold
).
ngenes_max
¶
Max Number of Genes
指定每个模型(以及集成的最终模型中的每个模型)保留的最大基因(转换器实例)数量。在对特征进行评分之前,这可以控制基因数量,因此,如果发生修剪,Driverless AI 将仅对基因进行随机抽样。如果在对特征进行评分之后出现限制,则将使用聚合的基因重要性来修剪基因。实例包括所有可能的转换器,其中包含用于数值特征的原始转换器。值为 -1 表示除内部确定的内存和可解释性限制外,没有其他限制。
等效的 config.toml 参数为 num_max
.
features_allowed_by_interpretability
¶
Limit Features by Interpretability
指定是否使用由 features_allowed_by_interpretability
config.toml 设置指定的 可解释性 训练设置来限制特征数。
monotonicity_constraints_interpretability_switch
¶
Threshold for Interpretability Above Which to Enable Automatic Monotonicity Constraints for Tree Models
指定可解释性设置值,如果等于或大于此值,则在 XGBoostGBM、LightGBM 或决策树模型中自动使用单调性约束。默认值为 7。
另请参阅 monotonic gbm recipe 和 Monotonicity Constraints in Driverless AI.
monotonicity_constraints_correlation_threshold
¶
Correlation Beyond Which to Trigger Monotonicity Constraints (if enabled)
指定数值或编码转换特征和目标之间的皮尔逊积矩相关系数阈值,如果超过此值(低于负值),则在 XGBoostGBM、LightGBM 和决策树模型中使用正(负)单调性约束。默认值为 0.1。
请注意:仅当可解释性大于或等于 monotonicity_constraints_interpretability_switch 设置指定的值以及未指定 monotonicity_constraints_dict 设置时,方可启用此项设置。
另请参阅 monotonic gbm recipe 和 Monotonicity Constraints in Driverless AI.
monotonicity_constraints_log_level
¶
Control amount of logging when calculating automatic monotonicity constraints (if enabled)
对于支持单调性约束的模型,如果启用,则将根据其与目标的相关性,表现出针对模型中每个特征的自动确定的单调性约束。设置为 ‘低’ 时,仅显示单调性约束方向。设置为 ‘中’ 时,会显示正向和负向约束特征的相关性。设置为 ‘高’ 时,会显示所有相关系数值。
另请参阅 monotonic gbm recipe 和 Monotonicity Constraints in Driverless AI.
monotonicity_constraints_drop_low_correlation_features
¶
Whether to drop features that have no monotonicity constraint applied (e.g., due to low correlation with target)
如果启用,则仅会将具有 +1/-1 单调性约束的特征传入模型,并将删除没有单调性约束 (0) 的特征。否则,所有特征都包含在模型中。仅当可解释性 >= monotonicity_constraints_interpretability_switch 或提供了 monotonicity_constraints_dict 时,方可启用此项设置。
另请参阅 monotonic gbm recipe 和 Monotonicity Constraints in Driverless AI.
monotonicity_constraints_dict
¶
Manual Override for Monotonicity Constraints
指定应用了单调性约束的 max_features_importance 的特征列表。原始数值特征被映射到相应约束:
1:正约束
-1:负约束
0:禁用约束
对于不在此列表中的特征,将自动禁用约束(将约束设置为 0)。
以下示例展示了如何指定此列表:
"{'PAY_0': -1, 'PAY_2': -1, 'AGE': -1, 'BILL_AMT1': 1, 'PAY_AMT1': -1}"
请注意:如果未提供列表,则在可解释性设置足够高的情况下启用单调性约束时,将使用基于自相关的方法。
max_feature_interaction_depth
¶
Max Feature Interaction Depth
指定用于交互特征的最大特征数量,例如目标编码分组、证据权重和其他似然估计等交互特征。
探索特征交互对于获得更高预测性能而言十分重要。交互可采取多种形式(即,特征1 + 特征 2 或特征 1 * 特征 2 + ……特征 N)。尽管某些机器学习算法(例如基于树的方法)能在训练过程中很好地捕捉这些交互,但是产生交互可能会帮助这些算法(或其他算法)提供更好的性能。
可指定交互级别的深度(例如在 “最多” 中,指定一次最多可组合多少个特征以创建一个单个特征),以控制特征工程进程的复杂性。值越高,在以时间为代价的情况下构建的预测模型可能越多。默认值为 8。
将最大特征交互深度设置为 1,以禁用任何特征交互 max_feature_interaction_depth=1
.
fixed_feature_interaction_depth
¶
Fixed Feature Interaction Depth
指定用于交互特征的固定特征数量(非零),例如目标编码分组、证据权重和其他似然估计等交互特征。若需将所有特征用于每个转换器,则将此值设置为与列数相等的值。若需执行 50/50 的抽样和 \(n\) 个特征的固定特征交互深度,则将此值设置为 \(n\).
enable_target_encoding
¶
Enable Target Encoding
指定是否在构建模型时使用目标编码。目标编码涉及到几种不同的特征转换(主要集中于分类数据),其旨在使用实际目标变量的信息来表示特征。一个简单的示例是使用目标的平均值来替换分类特征中的每个唯一类别。这些类型的特征可能具有很好的预测性,但是容易出现过度拟合现象,并且会由于需要存储唯一类别和目标值的映射而需要更多内存。
cvte_cv_in_cv
¶
Enable Outer CV for Target Encoding
对于目标编码,在检测到 GINI 改变符号或 fit_transform
(训练数据)和 transform
(训练和验证数据)的证据权重符号不一致时,指定是否执行外部交叉-折叠验证。GINI 的不准确程度还可用于执行查找表的折叠平均,而非使用全局查找表。默认会启用此项设置。
enable_lexilabel_encoding
¶
Enable Lexicographical Label Encoding
指定是否启用字典式标签编码。默认会禁用此项设置。
enable_isolation_forest
¶
Enable Isolation Forest Anomaly Score Encoding
孤立森林 对数据异常或异常值的识别非常有效。孤立森林通过随机选择特征和在该特征的最大值和最小值之间随机选择拆分值隔离观测值。此拆分值取决于隔离特征点所需的时间。随机分割会产生与异常相关的明显更短的路径。当随机树森林为某些样本产生更短的路径时,这些样本很可能是异常。
此选项让您能指定是否返回每个样本的异常评分。默认会禁用此项设置。
enable_one_hot_encoding
¶
Enable One HotEncoding
指定是否启用独热编码。默认的**自动**设置仅适用于小数据集和 GLM 模型。
isolation_forest_nestimators
¶
Number of Estimators for Isolation Forest Encoding
指定用于 孤立森林 编码的估计器数量。默认值为 200。
drop_constant_columns
¶
Drop Constant Columns
指定是否删除带有常量值的列。默认会启用此项设置。
drop_id_columns
¶
Drop ID Columns
指定是否删除显示为 ID 的列。默认会启用此项设置。
no_drop_features
¶
Don’t Drop Any Columns
指定是否避免删除任何列(原始列或衍生列)。默认禁会用此项设置。
cols_to_drop
¶
Features to Drop
指定要删除的特征。此项设置允许您通过复制粘贴以逗号分隔的列名称(加引号)列表来一次性选择多个特征。
cols_to_force_in
¶
Features to always keep or force in, e.g. “G1”, “G2”, “G3”
控制要强制插入的列。强制插入的特征由实验选项所允许的最高可解释性的转换器处理,而且绝不会将其移除(即使模型向它们分配 0 重要性)。默认使用的转换器包括:
OriginalTransformer,用于数值;
CatOriginalTransformer 或 FrequencyTransformer,用于分类;
TextOriginalTransformer,用于文本;
DateTimeOriginalTransformer,用于日期-时间;
DateOriginalTransformer,用于日期;
ImageOriginalTransformer 或 ImageVectorizerTransformer,用于图像等
cols_to_group_by
¶
Features to Group By
指定按哪些特征对列进行分组。当此字段保留为空白(默认)时,Driverless AI 会自动搜索所有列(随机或基于变量重要性较高的列)。
sample_cols_to_group_by
¶
Sample from Features to Group By
指定是从给定特征中抽样以进行分组还是始终对所有特征进行分组。默认会禁用此项设置。
agg_funcs_for_group_by
¶
Aggregation Functions (Non-Time-Series) for Group By Operations
指定是否启用聚合函数以用于分组操作。从以下选项中选择(默认选择所有选项):
平均值
标准偏差
最小值
最大值
计数
folds_for_group_by
¶
Number of Folds to Obtain Aggregation When Grouping
指定折叠数以在分组时进行聚合。折外聚合会减少过度拟合,但是每次折叠中分析的数据也会减少。默认值为 5。
mutation_mode
¶
Type of Mutation Strategy
指定在转换器上执行突变时要应用的策略。从以下策略中选择:
样本:样本转换器参数(默认)
批量:同时执行多种类型的同一转换
全面:比上述策略同时执行更多类型的同一转换
dump_varimp_every_scored_indiv
¶
Enable Detailed Scored Features Info
指定是否将每个已评分个体模型的变量重要性(包括衍生变量和原始变量)转储至 csv/tabulated/json 文件。如果启用此选项,则 Driverless AI 会生成 “individual_scored_id%d.iter%d*features*” 之类的文件。默认会禁用此项设置。
dump_trans_timings
¶
Enable Detailed Logs for Timing and Types of Features Produced
指定是否将每个已评分折叠的时间和特征信息转储至 timings.txt 文件。默认会禁用此项设置。
compute_correlation
¶
Compute Correlation Matrix
指定是否计算训练、验证和测试相关矩阵。启用时,此项设置会创建表格和热图的 PDF 文件,这些文件将保存在磁盘中。请注意,此项设置目前为单线程进程,对于列数较多的实验可能会比较慢。默认会禁用此项设置。
interaction_finder_gini_rel_improvement_threshold
¶
Required GINI Relative Improvement for Interactions
指定 InteractionTransformer 所需的 GINI 相对提升值。如果与交互中考虑的原始特征相比,GINI 系数并不优于指定的相对提升值,则不返回此交互。如果数据比较嘈杂,且交互中没有明确的标志,则可降低此值以返回交互。默认值为 0.5。
interaction_finder_return_limit
¶
Number of Transformed Interactions to Make
指定要从所进行的交互尝试中进行转换交互的次数。(从已进行的交互尝试中选择最佳转换交互。)默认值为 5。
enable_rapids_transformers
¶
Whether to enable RAPIDS cuML GPU transformers (no mojo)
指定是否启用基于 GPU 的 RAPIDS cuML 转换器。请注意,目前此选项不支持 MOJO 部署,但是支持使用 python 评分。此选项目前处于 beta 测试阶段。
等效的 config.toml 参数为 enable_rapids_transformers
,默认值为 False。
varimp_threshold_at_interpretability_10
¶
Lowest allowed variable importance at interpretability 10
指定变量重要性,在此之下特征会被删除(可能找到更好的替换项)。此设置还设置较低可解释性设置的整体范围。如果您尽管选择了高可解释性但仍满足于有许多弱特征,或者您发现由于需要弱特征而导致性能下降,则将此值设置为较低的值。
stabilize_fs
¶
Whether to take minimum (True) or mean (False) of delta improvement in score when aggregating feature selection scores across multiple folds/depths
聚合多个折叠/深度的特征选择分数时,分数增量改进是取最小值 (True) 还是平均值 (False)。如果最大化指标,分数增量改进对应于原始指标减去混排特征框架指标;如果最小化指标,则对应于此分数差的负值。按排列重要性的特征选择考虑了混排特征后得分的变化,而使用最小值运算则在聚合折叠时忽略乐观分数,而倾向于悲观分数。注意,如果使用树方法,可能会拟合多个深度,在这种情况下,无论此 toml 设置如何,只有为所有深度保留的特征才能被特征选择所保留。如果可解释性 >= config toml 值 fs_data_vary_for_interpretability,则将一半数据(或 fs_data_frac 设置)用作再一次拟合,在这种情况下,无论此 toml 设置如何,只有为所有数据大小保留的特征才能被特征选择所保留。注意:对于小数据,此选项设置为禁用,因为任意小数据分片都可能会导致重要特征分离,而且只有聚合的平均性能才有信号