engine#

EvalML Engine 类,用于在 AutoMLSearch 中评估管道。

包内容#

类摘要#

CFEngine

concurrent.futures (CF) 引擎。

DaskEngine

dask 引擎。

EngineBase

EvalML 引擎的基类。

EngineComputation

封装(可能是异步)引擎计算结果的包装器。

SequentialEngine

AutoML 搜索的默认引擎。

函数#

evaluate_pipeline

提交给 submit_evaluation_job 引擎方法的函数。

train_and_score_pipeline

给定管道、配置和数据,训练并评估管道,并返回 CV 或 TV 分数。

train_pipeline

训练管道并在必要时调优阈值。

目录#

class evalml.automl.engine.CFEngine(client=None)[source]#

concurrent.futures (CF) 引擎。

参数

client (NoneCFClient) – 如果为 None,则创建线程池进行处理。默认为 None。

方法

close

用于正确关闭引擎客户端资源的函数。

is_closed

确定引擎客户端资源是否已关闭的属性。

setup_job_log

为作业设置记录器。

submit_evaluation_job

将评估作业发送到集群。

submit_scoring_job

将评分作业发送到集群。

submit_training_job

将训练作业发送到集群。

close(self)[source]#

用于正确关闭引擎客户端资源的函数。

property is_closed(self)#

确定引擎客户端资源是否已关闭的属性。

static setup_job_log()#

为作业设置记录器。

submit_evaluation_job(self, automl_config, pipeline, X, y, X_holdout=None, y_holdout=None)[source]#

将评估作业发送到集群。

参数
  • automl_config – 包含从 AutoMLSearch 实例传递的数据的结构。

  • pipeline (pipeline.PipelineBase) – 要评估的管道。

  • X (pd.DataFrame) – 用于建模的输入数据。

  • y (pd.Series) – 用于建模的目标数据。

  • X_holdout (pd.Series) – 用于留出集评分的留出输入数据。

  • y_holdout (pd.Series) – 用于留出集评分的留出目标数据。

返回

一个对象,封装对资源池中进行的未来计算(future-like computation)的引用

在资源池中进行

返回类型

CFComputation

submit_scoring_job(self, automl_config, pipeline, X, y, objectives, X_train=None, y_train=None)[source]#

将评分作业发送到集群。

参数
  • automl_config – 包含从 AutoMLSearch 实例传递的数据的结构。

  • pipeline (pipeline.PipelineBase) – 要评分的管道。

  • X (pd.DataFrame) – 用于建模的输入数据。

  • y (pd.Series) – 用于建模的目标数据。

  • X_train (pd.DataFrame) – 训练特征。用于时间序列中的特征工程。

  • y_train (pd.Series) – 训练目标。用于时间序列中的特征工程。

  • objectives (list[ObjectiveBase]) – 要评分的目标列表。

返回

一个对象,封装对资源池中进行的未来计算(future-like computation)的引用

在资源池中进行。

返回类型

CFComputation

submit_training_job(self, automl_config, pipeline, X, y)[source]#

将训练作业发送到集群。

参数
  • automl_config – 包含从 AutoMLSearch 实例传递的数据的结构。

  • pipeline (pipeline.PipelineBase) – 要评分的管道。

  • X (pd.DataFrame) – 用于建模的输入数据。

  • y (pd.Series) – 用于建模的目标数据。

返回

一个对象,封装对资源池中进行的未来计算(future-like computation)的引用

在资源池中进行

返回类型

CFComputation

class evalml.automl.engine.DaskEngine(cluster=None)[source]#

dask 引擎。

参数

cluster (Nonedd.Client) – 如果为 None,则创建一个本地的、基于线程的 Dask 客户端进行处理。默认为 None。

方法

close

关闭底层集群。

is_closed

确定引擎客户端资源是否已关闭的属性。

send_data_to_cluster

将数据发送到集群。

setup_job_log

为作业设置记录器。

submit_evaluation_job

将评估作业发送到集群。

submit_scoring_job

将评分作业发送到集群。

submit_training_job

将训练作业发送到集群。

close(self)[source]#

关闭底层集群。

property is_closed(self)#

确定引擎客户端资源是否已关闭的属性。

send_data_to_cluster(self, X, y)[source]#

将数据发送到集群。

实现使用了缓存,因此数据只发送一次。这遵循了 dask 的最佳实践。

参数
  • X (pd.DataFrame) – 用于建模的输入数据。

  • y (pd.Series) – 用于建模的目标数据。

返回

建模数据。

返回类型

dask.Future

static setup_job_log()#

为作业设置记录器。

submit_evaluation_job(self, automl_config, pipeline, X, y, X_holdout=None, y_holdout=None)[source]#

将评估作业发送到集群。

参数
  • automl_config – 包含从 AutoMLSearch 实例传递的数据的结构。

  • pipeline (pipeline.PipelineBase) – 要评估的管道。

  • X (pd.DataFrame) – 用于建模的输入数据。

  • y (pd.Series) – 用于建模的目标数据。

  • X_holdout (pd.Series) – 用于留出集评分的留出输入数据。

  • y_holdout (pd.Series) – 用于留出集评分的留出目标数据。

返回

一个对象,封装对资源池中进行的未来计算(future-like computation)的引用

在 dask 集群中进行。

返回类型

DaskComputation

submit_scoring_job(self, automl_config, pipeline, X, y, objectives, X_train=None, y_train=None)[source]#

将评分作业发送到集群。

参数
  • automl_config – 包含从 AutoMLSearch 实例传递的数据的结构。

  • pipeline (pipeline.PipelineBase) – 要评分的管道。

  • X (pd.DataFrame) – 用于建模的输入数据。

  • y (pd.Series) – 用于建模的目标数据。

  • X_train (pd.DataFrame) – 训练特征。用于时间序列中的特征工程。

  • y_train (pd.Series) – 训练目标。用于时间序列中的特征工程。

  • objectives (list[ObjectiveBase]) – 要评分的目标列表。

返回

一个对象,封装对资源池中进行的未来计算(future-like computation)的引用

在 dask 集群中进行。

返回类型

DaskComputation

submit_training_job(self, automl_config, pipeline, X, y)[source]#

将训练作业发送到集群。

参数
  • automl_config – 包含从 AutoMLSearch 实例传递的数据的结构。

  • pipeline (pipeline.PipelineBase) – 要评分的管道。

  • X (pd.DataFrame) – 用于建模的输入数据。

  • y (pd.Series) – 用于建模的目标数据。

返回

一个对象,封装对资源池中进行的未来计算(future-like computation)的引用

在 dask 集群中进行。

返回类型

DaskComputation

class evalml.automl.engine.EngineBase[source]#

EvalML 引擎的基类。

方法

setup_job_log

为作业设置记录器。

submit_evaluation_job

在 AutoMLSearch 期间提交管道评估作业。

submit_scoring_job

提交管道评分作业。

submit_training_job

提交管道训练作业。

static setup_job_log()[source]#

为作业设置记录器。

abstract submit_evaluation_job(self, automl_config, pipeline, X, y, X_holdout=None, y_holdout=None)[source]#

在 AutoMLSearch 期间提交管道评估作业。

abstract submit_scoring_job(self, automl_config, pipeline, X, y, objectives, X_train=None, y_train=None)[source]#

提交管道评分作业。

abstract submit_training_job(self, automl_config, pipeline, X, y, X_holdout=None, y_holdout=None)[source]#

提交管道训练作业。

class evalml.automl.engine.EngineComputation[source]#

封装(可能是异步)引擎计算结果的包装器。

方法

cancel

取消计算。

done

计算是否完成。

get_result

获取计算结果。将阻塞直到计算完成。

abstract cancel(self)[source]#

取消计算。

abstract done(self)[source]#

计算是否完成。

abstract get_result(self)[source]#

获取计算结果。将阻塞直到计算完成。

抛出 Exception: 如果计算失败。返回跟踪信息(traceback)。

evalml.automl.engine.evaluate_pipeline(pipeline, automl_config, X, y, logger, X_holdout=None, y_holdout=None)[source]#

提交给 submit_evaluation_job 引擎方法的函数。

参数
  • pipeline (PipelineBase) – 要评分的管道。

  • automl_config (AutoMLConfig) – AutoMLSearch 对象,用于访问配置和错误回调函数。

  • X (pd.DataFrame) – 训练特征。

  • y (pd.Series) – 训练目标。

  • logger – 用于写入的 Logger 对象。

  • X_holdout (pd.DataFrame) – 留出集特征。

  • y_holdout (pd.DataFrame) – 留出集目标。

返回

第一项 - 一个字典,包含 cv_score_mean、cv_scores、training_time 以及一个带有详细信息的 cv_data 结构。

第二项 - 我们训练和评分的管道类。第三项 - 包含所有记录消息的作业记录器实例。

返回类型

包含三个元素的元组

class evalml.automl.engine.SequentialEngine[source]#

AutoML 搜索的默认引擎。

在本地按顺序训练和评估管道。

方法

close

空操作。

setup_job_log

为作业设置记录器。

submit_evaluation_job

提交评估管道的作业。

submit_scoring_job

提交评分管道的作业。

submit_training_job

提交训练管道的作业。

close(self)[source]#

空操作。

static setup_job_log()#

为作业设置记录器。

submit_evaluation_job(self, automl_config, pipeline, X, y, X_holdout=None, y_holdout=None)[source]#

提交评估管道的作业。

参数
  • automl_config – 包含从 AutoMLSearch 实例传递的数据的结构。

  • pipeline (pipeline.PipelineBase) – 要评估的管道。

  • X (pd.DataFrame) – 用于建模的输入数据。

  • y (pd.Series) – 用于建模的目标数据。

  • X_holdout (pd.Series) – 用于留出集评分的留出输入数据。

  • y_holdout (pd.Series) – 用于留出集评分的留出目标数据。

返回

计算结果。

返回类型

SequentialComputation

submit_scoring_job(self, automl_config, pipeline, X, y, objectives, X_train=None, y_train=None)[source]#

提交评分管道的作业。

参数
  • automl_config – 包含从 AutoMLSearch 实例传递的数据的结构。

  • pipeline (pipeline.PipelineBase) – 要评分的管道。

  • X (pd.DataFrame) – 用于建模的输入数据。

  • y (pd.Series) – 用于建模的目标数据。

  • X_train (pd.DataFrame) – 训练特征。用于时间序列中的特征工程。

  • y_train (pd.Series) – 训练目标。用于时间序列中的特征工程。

  • objectives (list[ObjectiveBase]) – 要评分的目标列表。

返回

计算结果。

返回类型

SequentialComputation

submit_training_job(self, automl_config, pipeline, X, y)[source]#

提交训练管道的作业。

参数
  • automl_config – 包含从 AutoMLSearch 实例传递的数据的结构。

  • pipeline (pipeline.PipelineBase) – 要评估的管道。

  • X (pd.DataFrame) – 用于建模的输入数据。

  • y (pd.Series) – 用于建模的目标数据。

返回

计算结果。

返回类型

SequentialComputation

evalml.automl.engine.train_and_score_pipeline(pipeline, automl_config, full_X_train, full_y_train, logger, X_holdout=None, y_holdout=None)[source]#

给定管道、配置和数据,训练并评估管道,并返回 CV 或 TV 分数。

参数
  • pipeline (PipelineBase) – 要评分的管道。

  • automl_config (AutoMLSearch) – AutoMLSearch 对象,用于访问配置和错误回调函数。

  • full_X_train (pd.DataFrame) – 训练特征。

  • full_y_train (pd.Series) – 训练目标。

  • logger – 用于写入的 Logger 对象。

  • X_holdout (pd.DataFrame) – 留出集特征。

  • y_holdout (pd.DataFrame) – 留出集目标。

抛出

Exception – 如果数据分割后训练集中存在缺失的目标值。

返回

第一项 - 一个字典,包含 cv_score_mean、cv_scores、training_time 以及一个带有详细信息的 cv_data 结构。

第二项 - 我们训练和评分的管道类。第三项 - 包含所有记录消息的作业记录器实例。

返回类型

包含三个元素的元组

evalml.automl.engine.train_pipeline(pipeline, X, y, automl_config, schema=True, get_hashes=False)[source]#

训练管道并在必要时调优阈值。

参数
  • pipeline (PipelineBase) – 要训练的管道。

  • X (pd.DataFrame) – 用于训练的特征。

  • y (pd.Series) – 用于训练的目标。

  • automl_config (AutoMLSearch) – AutoMLSearch 对象,用于访问配置和错误回调函数。

  • schema (bool) – 是否使用 X 和 y 的 schema。默认为 True。

  • get_hashes (bool) – 是否返回用于训练(和可能调阈值)的数据的哈希值。默认为 False

返回

一个训练好的管道实例。hash (可选):输入数据索引的哈希值,仅在 get_hashes 为 True 时返回。

返回类型

pipeline (PipelineBase)