featuretools#

一个 Featuretools DFS 组件,用于为输入特征生成特征。

模块内容#

类摘要#

DFSTransformer

一个 Featuretools DFS 组件,用于为输入特征生成特征。

目录#

class evalml.pipelines.components.transformers.preprocessing.featuretools.DFSTransformer(index='index', features=None, random_seed=0, **kwargs)[source]#

一个 Featuretools DFS 组件,用于为输入特征生成特征。

参数
  • index (string) – 包含索引的列的名称。如果不存在此名称的列,则 featuretools.EntitySet() 会创建一个同名列作为索引列。默认为 'index'。

  • random_seed (int) – 随机数生成器的种子。默认为 0。

  • features (list) – 要运行 DFS 的特征列表。默认为 None。只有在特征所使用的列存在于输入中且特征本身不在输入中时,才会计算特征。如果 features 为空列表,则不会对输入数据进行转换。

属性

hyperparameter_ranges

{}

modifies_features

True

modifies_target

False

name

DFS 转换器

training_only

False

方法

clone

构造一个具有相同参数和随机状态的新组件。

contains_pre_existing_features

确定 DFS 转换器中的特征是否与管道输入特征匹配。

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

fit

拟合 DFSTransformer 转换器组件。

fit_transform

在 X 上进行拟合并转换 X。

load

从文件路径加载组件。

needs_fitting

返回布尔值,指示组件在调用 predict, predict_proba, transform 或 feature_importances 之前是否需要拟合。

parameters

返回用于初始化组件的参数。

save

将组件保存到文件路径。

transform

使用 featuretools 的 dfs 算法计算输入 X 的特征矩阵。

update_parameters

更新组件的参数字典。

clone(self)#

构造一个具有相同参数和随机状态的新组件。

返回

此组件的一个新实例,具有相同的参数和随机状态。

static contains_pre_existing_features(dfs_features: Optional[List[featuretools.feature_base.FeatureBase]], input_feature_names: List[str], target: Optional[str] = None)[source]#

确定 DFS 转换器中的特征是否与管道输入特征匹配。

参数
  • dfs_features (Optional[List[FeatureBase]]) – DFS 转换器输出的特征列表。

  • input_feature_names (List[str]) – 输入到 DFS 转换器的特征列表。

  • target (Optional[str]) – 我们试图预测其值的目标。这用于确定如果在 DFS 转换器的参数特征列表中存在目标列时要忽略哪个列。

default_parameters(cls)#

返回此组件的默认参数。

我们的惯例是 Component.default_parameters == Component().parameters。

返回

此组件的默认参数。

返回类型

dict

describe(self, print_name=False, return_dict=False)#

描述组件及其参数。

参数
  • print_name (bool, optional) – 是否打印组件名称

  • return_dict (bool, optional) – 是否以 {“name”: name, “parameters”: parameters} 格式返回字典形式的描述

返回

如果 return_dict 为 True,则返回字典,否则返回 None。

返回类型

None 或 dict

fit(self, X, y=None)[source]#

拟合 DFSTransformer 转换器组件。

参数
  • X (pd.DataFrame, np.array) – 要转换的输入数据,形状为 [n_samples, n_features]。

  • y (pd.Series) – 长度为 [n_samples] 的目标训练数据。

返回

self

fit_transform(self, X, y=None)#

在 X 上进行拟合并转换 X。

参数
  • X (pd.DataFrame) – 用于拟合和转换的数据。

  • y (pd.Series) – 目标数据。

返回

转换后的 X。

返回类型

pd.DataFrame

引发

MethodPropertyNotFoundError – 如果转换器没有 transform 方法或实现了 transform 的 component_obj。

static load(file_path)#

从文件路径加载组件。

参数

file_path (str) – 文件加载位置。

返回

ComponentBase 对象

needs_fitting(self)#

返回布尔值,指示组件在调用 predict, predict_proba, transform 或 feature_importances 之前是否需要拟合。

对于不需要拟合或其 fit 方法不执行任何操作的组件,可以将其覆盖为 False。

返回

True。

property parameters(self)#

返回用于初始化组件的参数。

save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#

将组件保存到文件路径。

参数
  • file_path (str) – 文件保存位置。

  • pickle_protocol (int) – Pickle 数据流格式。

transform(self, X, y=None)[source]#

使用 featuretools 的 dfs 算法计算输入 X 的特征矩阵。

参数
  • X (pd.DataFramenp.ndarray) – 要转换的输入训练数据。形状为 [n_samples, n_features]

  • y (pd.Series, 可选) – 忽略。

返回

特征矩阵

返回类型

pd.DataFrame

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, 可选) – 如果为 True,则会将 _is_fitted 设置为 False。