TRAIN 命令
概念信息
使用自动化机器学习,利用培训数据集创建最佳预测模型。
说明
如果您是在 32 位计算机上运行 Analytics,则 TRAIN 命令不受支持。该命令所需的计算是处理器密集型的,并且更适合于 64 位计算机。
语法
TRAIN {CLASSIFIER|REGRESSOR} <ON> 键域 <...n> TARGET 标签域 SCORER {ACCURACY|AUC|F1|LOGLOSS|PRECISION|RECALL|MAE|MSE|R2} SEARCHTIME 分钟数 MAXEVALTIME 分钟数 MODEL 模型名称 TO 表名称 <IF 测试> <WHILE 测试> <FIRST 范围|NEXT 范围> FOLDS 折叠数 <SEED 种子值> <LINEAR> <NOFP>
说明
用于 TRAIN 命令的数据集的最大支持大小是 1 GB。
参数
| 名称 | 描述 | ||||
|---|---|---|---|---|---|
| CLASSIFIER | REGRESSOR |
要在培训预测模型时使用的预测类型:
|
||||
| ON 键域 <...n> |
一个或多个培训输入域。 域可以是字符、数值或者逻辑类型。多个域必需以空格分隔。 说明 字符域必须是“类别的”。也就是说,它们必须标识类别或者种类,并且包含最大数量的唯一值。 该最大数量由最大类别数选项(工具 > 选项 > 命令)指定。 |
||||
| TARGET 标记域 |
要培训该模型基于培训输入域预测的域。 不同的预测类型(分类或回归)适用于不同的域数据类型:
|
||||
| SCORER ACCURACY | AUC | F1 | LOGLOSS | PRECISION | RECALL | MAE | MSE | R2 |
要在对生成的模型进行评分(调整和排名)时使用的度量。 生成的模型中,包含此度量最佳值的模型被保留,其余的则被放弃。 有效的不同度量子集随您所使用的预测类型(分类或回归)而异:
说明 仅当标记的域包含二进制数据 — 即两个种类,如是/否或者真/假时,分类指标 AUC 才有效。 |
||||
| SEARCHTIME 分钟数 |
培训和优化预测模型所花费的总时间(分钟数)。 培训和优化涉及跨不同的流水线配置(不同的模型、预处理器和超参数组合)进行搜索。 说明 TRAIN 命令的总运行时间为 SEARCHTIME 加上最多两个 MAXEVALTIME。 提示 指定一个起码是 MAXEVALTIME 的 10 倍的 EARCHTIME 此时间分配策略可在处理时间和允许对多种模型类型进行评估之间建立合理的平衡。 |
||||
| MAXEVALTIME 分钟数 |
每个模型评估的最大运行时间(分钟)。 提示 请为每 100 MB 的培训数据分配 45 分钟。 此时间分配策略可在处理时间和允许对多种模型类型进行评估之间建立合理的平衡。 |
||||
| MODEL 模型名称 |
该培训流程所输出的模型文件的名称。 该模型文件包含最适合于培训数据集的模型。您将把该模型输入到 PREDICT 命令以生成有关未被发现的新数据集的预测。 请将模型名称指定为带引号的字符串。例如:TO "Loan_default_prediction" 您可以指定 * .model 文件扩展名,或让 Analytics 自动指定。 默认情况下,该模型文件被保存到包含该 Analytics 项目的文件夹。 请使用绝对或相对文件路径将该模型文件保存到另外的现有文件夹:
|
||||
| TO 表名 |
该培训流程所输出的模型评估表的名称。 模型评估表包含两种不同类型的信息:
请将表名称指定为具有 .FIL 文件扩展名的带引号的字符串。例如:TO "Model_evaluation.FIL" 默认情况下,表数据文件 (.FIL) 被保存到包含 Analytics 项目的文件夹。 请使用绝对或相对文件路径将该数据文件保存到另外的现有文件夹:
说明 表名称被限制为不超过 64 个字母数字字符(不包括 .FIL 扩展名)。该名称可以包括下划线字符 ( _ ),但不能包括其他特殊字符或任何空格。该名称不能以数字开头。 |
||||
| IF 测试 可选 |
一个条件表达式,它必须为真以便处理每个记录。仅对满足条件的那些记录执行该命令。 说明 在应用任何范围参数(WHILE、FIRST、NEXT)之后,仅针对表中的剩余记录评估 IF 条件。 |
||||
| WHILE 测试 可选 |
一个条件表达式,它必须为真以便处理每个记录。该命令被一直执行到条件的计算结果为假或者到达表的末尾为止。 说明 如果您将 WHILE 与 FIRST 或 NEXT 结合使用,请在达到一个限制时立即记下处理步骤。 |
||||
| FIRST 范围 | NEXT 范围 可选 |
要处理的记录数:
请使用范围指定要处理的记录数。 如果您省略 FIRST 和 NEXT,则会默认处理所有记录。 |
||||
| FOLDS 折叠数 |
评估和优化模型时要使用的交叉验证折叠数。 折叠是培训数据集的子集,并且被用在交叉验证流程中。 通常,在培训模型时使用 5 到 10 个折叠可产生良好的结果。所允许的最小折叠数是 2,最大折叠数是 10。 提示 增加折叠数可以生成更好的模型预测性能估计,但是也会增加总运行时间。 |
||||
| SEED 种子值 可选 |
要用来在 Analytics 中初始化随机数生成器的种子值。 如果省略 SEED,则 Analytics 会随机选择种子值。 如果您想要在将来使用相同数据集重复该培训流程,请明确指定一个种子值并且记下来。 |
||||
| LINEAR 可选 |
请仅对线性模型进行培训和评分。 如果 LINEAR 被省略,则会评估与分类或回归相关的所有模型类型。 说明 使用较大的数据集,如果您只包括线性模型,则该培训流程通常会更快地完成。 仅包括线性模型可保证输出中的系数。 |
||||
| NOFP 可选 |
请从培训流程中排除特征选择和数据预处理。 特征选择即自动选择培训数据集中在优化预测模型方面最有用的域。自动选择可以提高预测性能,并且减少在模型优化中涉及的数据量。 数据预处理对培训数据集执行缩放和标准化等变换,以使其更适合于培训算法。 注意 您应该只排除特征选择和数据预处理(如果您有理由这样做)。 |
示例
培训分类模型
您想要培训一个可在随后流程中用来预测哪些贷款申请人将违约的分类模型。
您使用一组包含每笔贷款的已知结果(包括客户是否违约)的历史贷款数据培训该模型。
在后续的预测流程中,您将使用由 TRAIN 命令生成的模型处理当前贷款申请人数据。
OPEN "Loan_applicants_historical"
TRAIN CLASSIFIER ON Age Job_Category Salary Account_Balance Loan_Amount Loan_Period Refinanced Credit_Score TARGET Default SCORER LOGLOSS SEARCHTIME 960 MAXEVALTIME 90 MODEL "Loan_default_prediction.model" TO "Model_evaluation.FIL" FOLDS 5
培训回归模型
您相培训一个回归模型,以便在后续流程中使用该模型来预测房屋的未来销售价格。
您使用一组最近的房屋销售数据(包括销售价格)来培训该模型。
在后续的预测流程中,您将使用由 TRAIN 命令生成的模型生成房价评估。
OPEN "House_sales"
TRAIN REGRESSOR ON Lot_Size Bedrooms Bathrooms Stories Driveway Recroom Full_Basement Gas_HW Air_conditioning Garage_Places Preferred_Area TARGET Price SCORER MSE SEARCHTIME 960 MAXEVALTIME 90 MODEL "House_price_prediction.model" TO "Model_evaluation.FIL" FOLDS 5
备注
有关此命令工作方式的详细信息,请参见预测种类和数值类型值。