实验设置¶
本节介绍运行实验时的可用设置。
显示名称¶
可选:指定新实验的显示名称。名称没有字符或长度限制。如果此字段为空白,则 Driverless AI 将自动生成实验名称。
删除列¶
删除列是您不想在实验中用作预测因子的列。请注意,Driverless AI 将自动删除 ID 列和包含大量唯一值的列(config.toml 文件中的 max_relative_cardinality
或专家设置中的 整数和分类列唯一值允许的最大分数 )。
验证数据集¶
验证数据集用于调优建模管道。如果提供了验证数据集,则将使用整个训练数据进行训练,而仅使用此验证数据集对建模管道进行验证。当您不使用验证数据集时,Driverless AI 将对 I.I.D 实验进行 K 折交叉验证,对时间序列实验进行多个滚动窗口验证拆分。因此,由于您仅基于单个数据集进行验证,通常不建议使用验证数据集。注意,时间序列实验不能与验证数据集搭配使用:使用验证数据集将禁用选择时间列的功能,反之亦然。
此数据集必须与训练数据集有相同的列数(以及列类型)。还请注意,如果提供了验证集,由于不会对其进行抽样,因此即使准确度 = 1(这将减小训练集),仍可能会导致占用大量内存。
测试数据集¶
测试数据集用于测试构建的管道并创建测试预测结果。在训练建模管道期间绝不会使用测试集。(无论是否提供测试集,结果均相同。)如果提供了测试数据集,则测试集预测结果将在实验结束时提供。
权重列¶
可选:如适用,则为显示观测值权重(又称为样本或行权重)的列。此列必须是数值 >= 0 的数字。行的权重越高,其重要性也越高。权重通过加权损失函数影响模型训练,并通过加权指标影响模型评分。进行测试集预测时不使用权重列,但是计算测试集评分时可使用权重列(如果指定)。
请注意:权重列不可用作建模中的特征。
折叠列¶
可选:折叠列中值相同的行表示训练、验证或交叉验证数据集中应放在一起的组。这可防止数据泄露,还可提高自然分组且为非 i.i.d. (独立同分布)数据的泛化能力。此列必须为整数或分类变量,并且如果使用了验证集或指定了时间列,则不能指定此列。
默认情况下,Driverless AI 假设数据集为 i.i.d.,并随机创建用于回归的验证数据集或使用目标变量分层创建用于分类的验证数据集。
折叠列用于创建训练数据集和验证数据集,以使具有相同折叠值的所有行处于相同数据集中。这可防止数据泄露并可提高泛化能力。例如,当查看肺炎数据集中的数据时,person_id
将是有用的折叠列。这是因为数据可能包括每个人的多张诊断诊断快照,并且我们想要确保同一个人的特征仅出现在训练帧或验证帧中,而不会同时出现在训练帧和验证帧中,以避免数据泄露。
此列必须为整数或分类变量,并且如果使用了验证集或指定了时间列,则不能指定此列。
请注意:折叠列不可用作建模中的特征。
时间列¶
可选:如适用,则指定提供时间顺序(观测值的时间戳)的列。对于目标值与排序自相关的问题(每个时间序列组),指定时间列可改善模型性能并提高模型验证准确度。
此列中的值必须是 pandas.to_datetime() 能理解的日期时间格式,例如 “2017-11-29 00:30:35”或 “2017/11/29””,或者是整数值。如果选择 [自动],则将测试所有字符串列的潜在日期/日期时间内容,并将其视为潜在的时间列。如果发现时间列,则特征工程和模型验证将遵循时间的因果关系。如果选择 [关闭],则不会将任何时间顺序用于建模并且数据可能会被随机打乱(任何潜在的时间因果关系均将被忽略)。
当您的数据有时间列时,在大多数情况下,为时间列指定[自动]即可。然而,如果您选择特定日期列,则 Driverless AI 将向您提供另外的侧边栏菜单。在此侧边栏菜单中,您可以指定时间组列或指定[自动]以让 Driverless AI 确定最佳时间组列。您还可指定在预测时无法使用的列(更多信息,请参阅 关于在预测之时不可用列的更多信息 )、预测范围(由 Driverless AI 识别的时间单位)以及训练期和测试期之间的间隔。
请参阅 Driverless AI 中的时间序列,了解更多关于 Driverless AI 中的时间序列实验的信息,并查看时间序列示例。
请注意:
创建时间序列实验后,特征工程将被用于 MLI。这是因为与原始时间序列特征相比,处理过的时间序列特征对 MLI 更有用处。
如果指定折叠列,则不能指定时间列。这是因为折叠列和时间列均仅用于将训练数据集拆分为训练/验证数据集,因此一旦按时间拆分,则不能再使用折叠列拆分。如果指定时间列,则时间组列将被用作时间序列的折叠列。
如果使用验证数据集,则不能指定时间列。
被指定为预测时不可用的列将仅具有为(或使用)其创建的与滞后相关的特征。
在预测时不可用的列将仅具有为(或使用)其创建的与滞后相关的特征,因此仅当启用 time_series_recipe 时方可使用此选项。
准确度、时间和可解释性旋钮¶
实验预览描述了准确度、时间和可解释性设置对特定实验的重要性。当实验的任何设置(包括旋钮)发生更改时,此预览会自动更新。
准确度旋钮表示相关准确度:值越高,对模型性能的信心就越高。通常通过利用更大的数据(减少抽样)、更多的建模工作(更好的调优、更高的准确度设置)、更多的统计计算(交叉验证、自助法)来实现。并不始终意味着最终模型会更好,但通常意味着最终估算会更准确。如有疑问,请相信使用更高准确度设置的实验结果。
时间旋钮表示相对时间公差:值越高,通常会导致越长的运行时间。表示等待实验分数融合的耐心。值越大,意味着得到更好模型的可能性越大。如果花的时间过长,只需点击“完成”按钮,即会结束实验,就像实现了融合一样。
可解释性旋钮表示相对可解释性:值越高,倾向于可解释性更高且特征工程不太复杂(特征较少、特征简单)的模型(例如线性模型、决策树、单一模型)。值越低,模型越复杂(例如神经网络、gbms、集成)和特征管道越复杂(特征较多、交互特征更高阶)。
注解
无论准确度、时间和可解释性级别如何,您都可以使用 Features to Force In 专家设置手动选择要强制进行实验的各个特征。
在删除特征之前,要调整特征可以具有的最低容许变量重要性,使用 Lowest Allowed Variable Importance at Interpretability 10 专家设置。
准确度¶
随着准确度的提高,Driverless AI 将逐渐调整执行演变和集成的方式。准确度较低时,Driverless AI 将更改特征和模型,但是所有特征和模型均将彼此平等竞争。准确度较高时,每个独立的主模型将独立演变并作为不同主模型上的集成而成为最终集成模型的一部分。准确度更高时,Driverless AI 将演变并集成独立演变的特征类型,例如目标编码的开启和关闭。最终,当准确度达到最高时,Driverless AI 将执行模型和特征跟踪,并集成所有这些变化。
更改此值将影响特征演变和最终管道。
请注意:检查训练数据和测试数据之间的分布移位,以使准确度 >= 5。
训练数据大小:显示训练数据的行数和列数。
特征演变:表示用于创建实验的算法。如果提供了测试集而未提供验证集,则 Driverless AI 将在实验过程中执行 1/3 的验证拆分。如果提供验证集,则实验将执行外部验证。
最终管道:最终管道表示最终管道中使用的模型数量以及验证方式。对于集成建模,此处同样展示关于如何组合模型的信息。
时间¶
指定完成实验的相对时间(即,设置越高,用时越长)。
特征大脑级别:显示实验的特征大脑级别。更多信息,请参阅 feature_brain_level.
特征演变:显示将在此实验中运行的个体模型数量和迭代次数的最大值。
提前停止:如果实验不能提高迭代的指定评分,则将提前停止。
可解释性¶
指定实验的相对可解释性。值越高,说明模型越具可解释性。更改可解释性级别将会影响特征预调策略、单调性约束和特征工程搜索空间。
特征预调策略:表示特征选择策略(用于删除不能明显提高模型评分的特征)。如果可解释性 >= 6,则策略 = “排列重要性 FS”;否则策略为“无”。
单调性约束:如果启用 单调性约束 ,则模型应符合数据的单调性以及预测器和目标变量之间的单调关系。例如,在房价预测中,房价应随着占地面积和房间数量的增加而上涨,并应根据该地区犯罪率的增加而下降。如果启用,则 Driverless AI 将自动确定是否存在单调性并在建模管道中强制执行单调性约束。根据相关性,Driverless AI 将指定正、负或无单调性约束。如果绝对相关性大于 0.1,则强制执行单调性约束。所有其他预测器将不强制执行单调性约束。更多信息,请参阅 单调性约束.
请注意:单调性约束用于 XGBoost GBM 模型、XGBoost Dart 模型、LightGBM 模型和决策树模型中。
特征工程搜索空间:表示将在实验过程中使用的转换器。
[…] 需训练的模型¶
对于列出的模型:
模型和特征调优:表示验证拆分数量乘以调优的模型群体大小。
特征演变:表示为评估特征工程而训练的模型数量。
最终管道:表示最终模型的数量。
每个模型的超参数优化尝试:
演变:表示为调优模型的超参数优化而执行的尝试次数。
最终:表示为最终模型的超参数优化而执行的尝试次数。
“分类/回归”按钮¶
Driverless AI 将根据响应列自动确定问题类型。尽管我们不建议这样操作,但是您可以通过点击此按钮来覆盖此项设置。
可再现¶
可再现 按钮允许您使用随机数种子创建实验并获得可再现的结果。如果禁用(默认)此项设置,则每次运行的结果都将不同,这可以让您很容易发现实验结果之间的差异。
启用此选项时,请记住以下几点:
仅当在相同硬件(相同数量及类型的 GPU/CPU、相同架构,例如 Linux 或 PPC 等)上运行时方可再现实验。例如,如果您在使用 GPU 的计算机上进行实验,然后试图在仅使用 CPU 的计算机或 GPU 数量和类型不同的计算机上再现结果,您将无法获得相同的结果。
此选项应使用 reproducibility_level 专家设置选项,确保基于操作系统和环境架构的不同程度的可再现性。请注意,启用 可复制性 时,默认
reproducibility_level=1
.使用有多个内核的 TensorFlow 运行的实验无法再现。
64 位浮点数的 LightGBM 模型更具可再现性,且 Driverless AI 将为 LightGBM 模型切换至 64 位浮点数。(更多信息,请参阅 https://lightgbm.readthedocs.io/en/latest/Parameters.html#gpu_use_dp.)
启用此选项将自动禁用所有特征大脑专家设置选项,具体为:
启用 GPU¶
点击 启用 GPU 按钮可启用/禁用 GPU。请注意,在仅使用 CPU 的系统中将忽略此选项。