time_series_classification_pipelines#
时间序列分类问题的 Pipeline 基类。
模块内容#
类总结#
时间序列二元分类问题的 Pipeline 基类。 |
|
时间序列分类问题的 Pipeline 基类。 |
|
时间序列多分类问题的 Pipeline 基类。 |
目录#
- class evalml.pipelines.time_series_classification_pipelines.TimeSeriesBinaryClassificationPipeline(component_graph, parameters=None, custom_name=None, random_seed=0)[source]#
时间序列二元分类问题的 Pipeline 基类。
- 参数
component_graph (list or dict) – 按顺序排列的组件列表。列表中接受字符串或 ComponentBase 子类。请注意,当在列表中指定重复组件时,重复组件的名称将根据其在列表中的索引进行修改。例如,组件图 [Imputer, One Hot Encoder, Imputer, Logistic Regression Classifier] 将具有名称 ["Imputer", "One Hot Encoder", "Imputer_2", "Logistic Regression Classifier"]
parameters (dict) – 字典,键为组件名称,值为该组件参数的字典。空字典 {} 表示使用组件参数的所有默认值。Pipeline 级别的参数,如 time_index, gap, 和 max_delay 必须使用 “pipeline” 键指定。例如:Pipeline(parameters={"pipeline": {"time_index": "Date", "max_delay": 4, "gap": 2}})。
random_seed (int) – 随机数生成器的种子。默认为 0。
示例
>>> pipeline = TimeSeriesBinaryClassificationPipeline(component_graph=["Simple Imputer", "Logistic Regression Classifier"], ... parameters={"Logistic Regression Classifier": {"penalty": "elasticnet", ... "solver": "liblinear"}, ... "pipeline": {"gap": 1, "max_delay": 1, "forecast_horizon": 1, "time_index": "date"}}, ... custom_name="My TimeSeriesBinary Pipeline") ... >>> assert pipeline.custom_name == "My TimeSeriesBinary Pipeline" >>> assert pipeline.component_graph.component_dict.keys() == {'Simple Imputer', 'Logistic Regression Classifier'} ... >>> assert pipeline.parameters == { ... 'Simple Imputer': {'impute_strategy': 'most_frequent', 'fill_value': None}, ... 'Logistic Regression Classifier': {'penalty': 'elasticnet', ... 'C': 1.0, ... 'n_jobs': -1, ... 'multi_class': 'auto', ... 'solver': 'liblinear'}, ... 'pipeline': {'gap': 1, 'max_delay': 1, 'forecast_horizon': 1, 'time_index': "date"}}
属性
problem_type
None
方法
确定二元分类 pipeline 的阈值是否可以调整。
获取 pipeline 的类名。在 pipeline fit 之前将返回 None。
构造一个具有相同组件、参数和随机种子新 pipeline。
从字符串列表或 objective 类创建 objective 实例。
pipeline 的自定义名称。
返回预测未来给定日期所需的日期。
返回预测未来给定日期所需的日期。
输出 pipeline 详情,包括组件参数。
与每个特征相关的特征重要性。特征选择删除的特征会被排除。
fit 时间序列分类模型。
fit 并转换组件图中的所有组件(如果所有组件都是 Transformer)。
按名称返回组件。
以字典形式返回所有组件的超参数范围。
生成表示 pipeline 图的图像。
生成一个字典,其中节点包含组件名称和参数,边详细说明组件关系。此字典在大多数情况下是可 JSON 序列化的。
生成 pipeline 特征重要性的柱状图。
将组件的 inverse_transform 方法以相反的顺序应用于 estimator 预测。
加载文件路径处的 pipeline。
返回此 pipeline 的模型族。
pipeline 的名称。
构造一个新的 pipeline 实例,其组件图相同但参数集不同。请勿与 Python 的 __new__ 方法混淆。
根据要使用的 objective 优化 pipeline 阈值。仅用于阈值可调的二元问题和 objective。
此 pipeline 的参数字典。
对目标未知 எதிர்கால data 进行预测。
对目标已知 எதிர்கால data 进行预测,例如 交叉验证。
对目标未知 எதிர்கால data 进行概率预测。
对目标已知 எதிர்கால data 进行预测,例如 交叉验证。
将 pipeline 保存到文件路径。
评估模型在当前和额外 objective 上的性能。
pipeline 结构的简短总结,描述了使用的组件列表。
用于进行预测的阈值。默认为 None。
转换输入。
通过应用所有预处理组件来转换数据。
- can_tune_threshold_with_objective(self, objective)#
确定二元分类 pipeline 的阈值是否可以调整。
- 参数
objective (ObjectiveBase) – 主要 AutoMLSearch objective。
- 返回
如果 pipeline 阈值可以调整,则为 True。
- 返回类型
bool
- property classes_(self)#
获取 pipeline 的类名。在 pipeline fit 之前将返回 None。
- clone(self)#
构造一个具有相同组件、参数和随机种子新 pipeline。
- 返回
此 pipeline 的新实例,具有相同的组件、参数和随机种子。
- static create_objectives(objectives)#
从字符串列表或 objective 类创建 objective 实例。
- property custom_name(self)#
pipeline 的自定义名称。
- dates_needed_for_prediction(self, date)#
返回预测未来给定日期所需的日期。
- 参数
date (pd.Timestamp) – 要预测的未来日期。
- 返回
预测给定日期所需的日期范围。
- 返回类型
dates_needed (tuple(pd.Timestamp))
- dates_needed_for_prediction_range(self, start_date, end_date)#
返回预测未来给定日期所需的日期。
- 参数
start_date (pd.Timestamp) – 要预测的未来日期范围的开始日期。
end_date (pd.Timestamp) – 要预测的未来日期范围的结束日期。
- 返回
预测给定日期所需的日期范围。
- 返回类型
dates_needed (tuple(pd.Timestamp))
- 引发
ValueError – 如果 start_date 不在 end_date 之前
- describe(self, return_dict=False)#
输出 pipeline 详情,包括组件参数。
- 参数
return_dict (bool) – 如果为 True,则返回有关 pipeline 信息的字典。默认为 False。
- 返回
如果 return_dict 为 True,则为所有组件参数的字典,否则为 None。
- 返回类型
dict
- property feature_importance(self)#
与每个特征相关的特征重要性。特征选择删除的特征会被排除。
- 返回
特征名称及其相应的重要性
- 返回类型
pd.DataFrame
- fit(self, X, y)#
fit 时间序列分类模型。
- 参数
X (pd.DataFrame or np.ndarray) – 输入训练数据,形状为 [n_samples, n_features]
y (pd.Series, np.ndarray) – 目标训练标签,长度为 [n_samples]
- 返回
self
- 引发
ValueError – 如果 y 中唯一类的数量不适合 pipeline 的类型。
- fit_transform(self, X, y)#
fit 并转换组件图中的所有组件(如果所有组件都是 Transformer)。
- 参数
X (pd.DataFrame) – 输入特征,形状为 [n_samples, n_features]。
y (pd.Series) – 目标数据,长度为 [n_samples]。
- 返回
转换后的输出。
- 返回类型
pd.DataFrame
- 引发
ValueError – 如果最终组件是 Estimator。
- get_component(self, name)#
按名称返回组件。
- 参数
name (str) – 组件名称。
- 返回
要返回的组件
- 返回类型
Component
- get_hyperparameter_ranges(self, custom_hyperparameters)#
以字典形式返回所有组件的超参数范围。
- 参数
custom_hyperparameters (dict) – pipeline 的自定义超参数。
- 返回
pipeline 中每个组件的超参数范围字典。
- 返回类型
dict
- graph(self, filepath=None)#
生成表示 pipeline 图的图像。
- 参数
filepath (str, optional) – 图形应保存到的路径。如果设置为 None(默认),则不会保存图形。
- 返回
可在 Jupyter notebooks 中直接显示的图形对象。
- 返回类型
graphviz.Digraph
- 引发
RuntimeError – 如果未安装 graphviz。
ValueError – 如果路径不可写。
- graph_dict(self)#
生成一个字典,其中节点包含组件名称和参数,边详细说明组件关系。此字典在大多数情况下是可 JSON 序列化的。
x_edges 指定从哪个组件传递特征数据。y_edges 指定从哪个组件传递目标数据。这可用于在各种可视化工具中构建图形。模板:{“Nodes”: {“component_name”: {“Name”: class_name, “Parameters”: parameters_attributes}, …}}, “x_edges”: [[from_component_name, to_component_name], [from_component_name, to_component_name], …], “y_edges”: [[from_component_name, to_component_name], [from_component_name, to_component_name], …]}
- 返回
表示 DAG 结构的字典。
- 返回类型
dag_dict (dict)
- graph_feature_importance(self, importance_threshold=0)#
生成 pipeline 特征重要性的柱状图。
- 参数
importance_threshold (float, optional) – 如果提供,则绘制绝对值大于 importance_threshold 的置换重要性特征。默认为零。
- 返回
显示特征及其相应重要性的柱状图。
- 返回类型
plotly.Figure
- 引发
ValueError – 如果重要性阈值无效。
- inverse_transform(self, y)#
将组件的 inverse_transform 方法以相反的顺序应用于 estimator 预测。
实现 inverse_transform 的组件有 PolynomialDecomposer, LogTransformer, LabelEncoder (待定)。
- 参数
y (pd.Series) – 最终组件特征。
- 返回
目标的逆变换。
- 返回类型
pd.Series
- static load(file_path: Union[str, io.BytesIO])#
加载文件路径处的 pipeline。
- 参数
file_path (str|BytesIO) – 加载文件路径或 BytesIO 对象。
- 返回
PipelineBase 对象
- property model_family(self)#
返回此 pipeline 的模型族。
- property name(self)#
pipeline 的名称。
- new(self, parameters, random_seed=0)#
构造一个新的 pipeline 实例,其组件图相同但参数集不同。请勿与 Python 的 __new__ 方法混淆。
- 参数
parameters (dict) – 字典,键为组件名称,值为该组件参数的字典。空字典或 None 表示使用所有组件参数的默认值。默认为 None。
random_seed (int) – 随机数生成器的种子。默认为 0。
- 返回
此 pipeline 的新实例,具有相同的组件。
- optimize_threshold(self, X, y, y_pred_proba, objective)#
根据要使用的 objective 优化 pipeline 阈值。仅用于阈值可调的二元问题和 objective。
- 参数
X (pd.DataFrame) – 输入特征。
y (pd.Series) – 输入目标值。
y_pred_proba (pd.Series) – pipeline 输出的目标预测概率。
objective (ObjectiveBase) – 用于设置阈值的 objective。必须具有可调阈值。
- 引发
ValueError – 如果 objective 不可优化。
- property parameters(self)#
此 pipeline 的参数字典。
- 返回
所有组件参数的字典。
- 返回类型
dict
- predict(self, X, objective=None, X_train=None, y_train=None)#
对目标未知 எதிர்கால data 进行预测。
- 参数
X (pd.DataFrame, or np.ndarray) – 数据,形状为 [n_samples, n_features]。
objective (Object or string) – 用于进行预测的 objective。
X_train (pd.DataFrame or np.ndarray or None) – 训练数据。
y_train (pd.Series or None) – 训练标签。
- 引发
ValueError – 如果 X_train 和/或 y_train 为 None 或最终组件不是 Estimator。
- 返回
预测结果。
- predict_in_sample(self, X, y, X_train, y_train, objective=None)[source]#
对目标已知 எதிர்கால data 进行预测,例如 交叉验证。
- 参数
X (pd.DataFrame) – 未来数据,形状为 [n_samples, n_features]。
y (pd.Series) – 未来目标,形状为 [n_samples]。
X_train (pd.DataFrame) – pipeline 训练用的数据,形状为 [n_samples_train, n_features]。
y_train (pd.Series) – 用于训练 pipeline 的目标,形状为 [n_samples_train]。
objective (ObjectiveBase, str) – 可选,用于设置预测概率阈值的 objective。默认为 None。
- 返回
估计的标签。
- 返回类型
pd.Series
- 引发
ValueError – 如果 objective 未为时间序列二元分类问题定义。
- predict_proba(self, X, X_train=None, y_train=None)#
对目标未知 எதிர்கால data 进行概率预测。
- 参数
X (pd.DataFrame or np.ndarray) – 未来数据,形状为 [n_samples, n_features]。
X_train (pd.DataFrame, np.ndarray) – pipeline 训练用的数据,形状为 [n_samples_train, n_features]。
y_train (pd.Series, np.ndarray) – 用于训练 pipeline 的目标,形状为 [n_samples_train]。
- 返回
估计的概率。
- 返回类型
pd.Series
- 引发
ValueError – 如果最终组件不是 Estimator。
- predict_proba_in_sample(self, X_holdout, y_holdout, X_train, y_train)#
对目标已知 எதிர்கால data 进行预测,例如 交叉验证。
- 参数
X_holdout (pd.DataFrame or np.ndarray) – 未来数据,形状为 [n_samples, n_features]。
y_holdout (pd.Series, np.ndarray) – 未来目标,形状为 [n_samples]。
X_train (pd.DataFrame, np.ndarray) – pipeline 训练用的数据,形状为 [n_samples_train, n_features]。
y_train (pd.Series, np.ndarray) – 用于训练 pipeline 的目标,形状为 [n_samples_train]。
- 返回
估计的概率。
- 返回类型
pd.Series
- 引发
ValueError – 如果最终组件不是 Estimator。
- save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#
将 pipeline 保存到文件路径。
- 参数
file_path (str) – 保存文件的位置。
pickle_protocol (int) – pickle 数据流格式。
- score(self, X, y, objectives, X_train=None, y_train=None)#
评估模型在当前和额外 objective 上的性能。
- 参数
X (pd.DataFrame or np.ndarray) – 数据,形状为 [n_samples, n_features]。
y (pd.Series) – 真实标签,长度为 [n_samples]。
objectives (list) – 要评分的非空 objective 列表。
X_train (pd.DataFrame, np.ndarray) – pipeline 训练用的数据,形状为 [n_samples_train, n_features]。
y_train (pd.Series, np.ndarray) – 用于训练 pipeline 的目标,形状为 [n_samples_train]。
- 返回
objective 分数的有序字典。
- 返回类型
dict
- property summary(self)#
pipeline 结构的简短总结,描述了使用的组件列表。
示例:逻辑回归分类器 w/ 简单填充器 + One Hot 编码器
- 返回
描述 pipeline 结构的字符串。
- property threshold(self)#
用于进行预测的阈值。默认为 None。
- transform(self, X, y=None)#
转换输入。
- 参数
X (pd.DataFrame, or np.ndarray) – 数据,形状为 [n_samples, n_features]。
y (pd.Series) – 目标数据,长度为 [n_samples]。默认为 None。
- 返回
转换后的输出。
- 返回类型
pd.DataFrame
- transform_all_but_final(self, X, y=None, X_train=None, y_train=None, calculating_residuals=False)#
通过应用所有预处理组件来转换数据。
- 参数
X (pd.DataFrame) – 要转换到 pipeline 中的输入数据。
y (pd.Series) – 与 pipeline 目标对应的目标。
X_train (pd.DataFrame) – 用于从过去观测中生成特征的训练数据。
y_train (pd.Series) – 用于从过去观测中生成特征的训练目标。
calculating_residuals (bool) – 是否正在调用 predict_in_sample 来计算残差。这意味着 X 和 y 参数不是未来数据,而是实际的训练数据。
- 返回
新的转换特征。
- 返回类型
pd.DataFrame
- class evalml.pipelines.time_series_classification_pipelines.TimeSeriesClassificationPipeline(component_graph, parameters=None, custom_name=None, random_seed=0)[source]#
时间序列分类问题的 Pipeline 基类。
- 参数
component_graph (ComponentGraph, list, dict) – ComponentGraph 实例,按顺序排列的组件列表,或组件字典。列表中接受字符串或 ComponentBase 子类。请注意,当在列表中指定重复组件时,重复组件的名称将根据其在列表中的索引进行修改。例如,组件图 [Imputer, One Hot Encoder, Imputer, Logistic Regression Classifier] 将具有名称 ["Imputer", "One Hot Encoder", "Imputer_2", "Logistic Regression Classifier"]
parameters (dict) – 字典,键为组件名称,值为该组件参数的字典。空字典 {} 表示使用组件参数的所有默认值。Pipeline 级别的参数,如 time_index, gap, 和 max_delay 必须使用 “pipeline” 键指定。例如:Pipeline(parameters={"pipeline": {"time_index": "Date", "max_delay": 4, "gap": 2}})。
random_seed (int) – 随机数生成器的种子。默认为 0。
属性
problem_type
None
方法
确定二元分类 pipeline 的阈值是否可以调整。
获取 pipeline 的类名。在 pipeline fit 之前将返回 None。
构造一个具有相同组件、参数和随机种子新 pipeline。
从字符串列表或 objective 类创建 objective 实例。
pipeline 的自定义名称。
返回预测未来给定日期所需的日期。
返回预测未来给定日期所需的日期。
输出 pipeline 详情,包括组件参数。
与每个特征相关的特征重要性。特征选择删除的特征会被排除。
fit 时间序列分类模型。
fit 并转换组件图中的所有组件(如果所有组件都是 Transformer)。
按名称返回组件。
以字典形式返回所有组件的超参数范围。
生成表示 pipeline 图的图像。
生成一个字典,其中节点包含组件名称和参数,边详细说明组件关系。此字典在大多数情况下是可 JSON 序列化的。
生成 pipeline 特征重要性的柱状图。
将组件的 inverse_transform 方法以相反的顺序应用于 estimator 预测。
加载文件路径处的 pipeline。
返回此 pipeline 的模型族。
pipeline 的名称。
构造一个新的 pipeline 实例,其组件图相同但参数集不同。请勿与 Python 的 __new__ 方法混淆。
此 pipeline 的参数字典。
对目标未知 எதிர்கால data 进行预测。
对目标已知 எதிர்கால data 进行预测,例如 交叉验证。
对目标未知 எதிர்கால data 进行概率预测。
对目标已知 எதிர்கால data 进行预测,例如 交叉验证。
将 pipeline 保存到文件路径。
评估模型在当前和额外 objective 上的性能。
pipeline 结构的简短总结,描述了使用的组件列表。
转换输入。
通过应用所有预处理组件来转换数据。
- can_tune_threshold_with_objective(self, objective)#
确定二元分类 pipeline 的阈值是否可以调整。
- 参数
objective (ObjectiveBase) – 主要 AutoMLSearch objective。
- 返回
如果 pipeline 阈值可以调整,则为 True。
- 返回类型
bool
- property classes_(self)#
获取 pipeline 的类名。在 pipeline fit 之前将返回 None。
- clone(self)#
构造一个具有相同组件、参数和随机种子新 pipeline。
- 返回
此 pipeline 的新实例,具有相同的组件、参数和随机种子。
- static create_objectives(objectives)#
从字符串列表或 objective 类创建 objective 实例。
- property custom_name(self)#
pipeline 的自定义名称。
- dates_needed_for_prediction(self, date)#
返回预测未来给定日期所需的日期。
- 参数
date (pd.Timestamp) – 要预测的未来日期。
- 返回
预测给定日期所需的日期范围。
- 返回类型
dates_needed (tuple(pd.Timestamp))
- dates_needed_for_prediction_range(self, start_date, end_date)#
返回预测未来给定日期所需的日期。
- 参数
start_date (pd.Timestamp) – 要预测的未来日期范围的开始日期。
end_date (pd.Timestamp) – 要预测的未来日期范围的结束日期。
- 返回
预测给定日期所需的日期范围。
- 返回类型
dates_needed (tuple(pd.Timestamp))
- 引发
ValueError – 如果 start_date 不在 end_date 之前
- describe(self, return_dict=False)#
输出 pipeline 详情,包括组件参数。
- 参数
return_dict (bool) – 如果为 True,则返回有关 pipeline 信息的字典。默认为 False。
- 返回
如果 return_dict 为 True,则为所有组件参数的字典,否则为 None。
- 返回类型
dict
- property feature_importance(self)#
与每个特征相关的特征重要性。特征选择删除的特征会被排除。
- 返回
特征名称及其相应的重要性
- 返回类型
pd.DataFrame
- fit(self, X, y)[source]#
fit 时间序列分类模型。
- 参数
X (pd.DataFrame or np.ndarray) – 输入训练数据,形状为 [n_samples, n_features]
y (pd.Series, np.ndarray) – 目标训练标签,长度为 [n_samples]
- 返回
self
- 引发
ValueError – 如果 y 中唯一类的数量不适合 pipeline 的类型。
- fit_transform(self, X, y)#
fit 并转换组件图中的所有组件(如果所有组件都是 Transformer)。
- 参数
X (pd.DataFrame) – 输入特征,形状为 [n_samples, n_features]。
y (pd.Series) – 目标数据,长度为 [n_samples]。
- 返回
转换后的输出。
- 返回类型
pd.DataFrame
- 引发
ValueError – 如果最终组件是 Estimator。
- get_component(self, name)#
按名称返回组件。
- 参数
name (str) – 组件名称。
- 返回
要返回的组件
- 返回类型
Component
- get_hyperparameter_ranges(self, custom_hyperparameters)#
以字典形式返回所有组件的超参数范围。
- 参数
custom_hyperparameters (dict) – pipeline 的自定义超参数。
- 返回
pipeline 中每个组件的超参数范围字典。
- 返回类型
dict
- graph(self, filepath=None)#
生成表示 pipeline 图的图像。
- 参数
filepath (str, optional) – 图形应保存到的路径。如果设置为 None(默认),则不会保存图形。
- 返回
可在 Jupyter notebooks 中直接显示的图形对象。
- 返回类型
graphviz.Digraph
- 引发
RuntimeError – 如果未安装 graphviz。
ValueError – 如果路径不可写。
- graph_dict(self)#
生成一个字典,其中节点包含组件名称和参数,边详细说明组件关系。此字典在大多数情况下是可 JSON 序列化的。
x_edges 指定从哪个组件传递特征数据。y_edges 指定从哪个组件传递目标数据。这可用于在各种可视化工具中构建图形。模板:{“Nodes”: {“component_name”: {“Name”: class_name, “Parameters”: parameters_attributes}, …}}, “x_edges”: [[from_component_name, to_component_name], [from_component_name, to_component_name], …], “y_edges”: [[from_component_name, to_component_name], [from_component_name, to_component_name], …]}
- 返回
表示 DAG 结构的字典。
- 返回类型
dag_dict (dict)
- graph_feature_importance(self, importance_threshold=0)#
生成 pipeline 特征重要性的柱状图。
- 参数
importance_threshold (float, optional) – 如果提供,则绘制绝对值大于 importance_threshold 的置换重要性特征。默认为零。
- 返回
显示特征及其相应重要性的柱状图。
- 返回类型
plotly.Figure
- 引发
ValueError – 如果重要性阈值无效。
- inverse_transform(self, y)#
将组件的 inverse_transform 方法以相反的顺序应用于 estimator 预测。
实现 inverse_transform 的组件有 PolynomialDecomposer, LogTransformer, LabelEncoder (待定)。
- 参数
y (pd.Series) – 最终组件特征。
- 返回
目标的逆变换。
- 返回类型
pd.Series
- static load(file_path: Union[str, io.BytesIO])#
加载文件路径处的 pipeline。
- 参数
file_path (str|BytesIO) – 加载文件路径或 BytesIO 对象。
- 返回
PipelineBase 对象
- property model_family(self)#
返回此 pipeline 的模型族。
- property name(self)#
pipeline 的名称。
- new(self, parameters, random_seed=0)#
构造一个新的 pipeline 实例,其组件图相同但参数集不同。请勿与 Python 的 __new__ 方法混淆。
- 参数
parameters (dict) – 字典,键为组件名称,值为该组件参数的字典。空字典或 None 表示使用所有组件参数的默认值。默认为 None。
random_seed (int) – 随机数生成器的种子。默认为 0。
- 返回
此 pipeline 的新实例,具有相同的组件。
- property parameters(self)#
此 pipeline 的参数字典。
- 返回
所有组件参数的字典。
- 返回类型
dict
- predict(self, X, objective=None, X_train=None, y_train=None)#
对目标未知 எதிர்கால data 进行预测。
- 参数
X (pd.DataFrame, or np.ndarray) – 数据,形状为 [n_samples, n_features]。
objective (Object or string) – 用于进行预测的 objective。
X_train (pd.DataFrame or np.ndarray or None) – 训练数据。
y_train (pd.Series or None) – 训练标签。
- 引发
ValueError – 如果 X_train 和/或 y_train 为 None 或最终组件不是 Estimator。
- 返回
预测结果。
- predict_in_sample(self, X, y, X_train, y_train, objective=None)[source]#
对目标已知 எதிர்கால data 进行预测,例如 交叉验证。
注意:我们首先将 y 强制转换为 int 类型,以处理计算预测结果时可能返回的布尔值。如果我们最初拥有整数目标,这将无法通过其他方式进行转换。
- 参数
X (pd.DataFrame or np.ndarray) – 未来数据,形状为 [n_samples, n_features]。
y (pd.Series, np.ndarray) – 未来目标,形状为 [n_samples]。
X_train (pd.DataFrame, np.ndarray) – pipeline 训练用的数据,形状为 [n_samples_train, n_features]。
y_train (pd.Series, np.ndarray) – 用于训练 pipeline 的目标,形状为 [n_samples_train]。
objective (ObjectiveBase, str, None) – 可选,用于设置预测概率阈值的 objective。
- 返回
估计的标签。
- 返回类型
pd.Series
- 引发
ValueError – 如果最终组件不是 Estimator。
- predict_proba(self, X, X_train=None, y_train=None)[source]#
对目标未知 எதிர்கால data 进行概率预测。
- 参数
X (pd.DataFrame or np.ndarray) – 未来数据,形状为 [n_samples, n_features]。
X_train (pd.DataFrame, np.ndarray) – pipeline 训练用的数据,形状为 [n_samples_train, n_features]。
y_train (pd.Series, np.ndarray) – 用于训练 pipeline 的目标,形状为 [n_samples_train]。
- 返回
估计的概率。
- 返回类型
pd.Series
- 引发
ValueError – 如果最终组件不是 Estimator。
- predict_proba_in_sample(self, X_holdout, y_holdout, X_train, y_train)[source]#
对目标已知 எதிர்கால data 进行预测,例如 交叉验证。
- 参数
X_holdout (pd.DataFrame or np.ndarray) – 未来数据,形状为 [n_samples, n_features]。
y_holdout (pd.Series, np.ndarray) – 未来目标,形状为 [n_samples]。
X_train (pd.DataFrame, np.ndarray) – pipeline 训练用的数据,形状为 [n_samples_train, n_features]。
y_train (pd.Series, np.ndarray) – 用于训练 pipeline 的目标,形状为 [n_samples_train]。
- 返回
估计的概率。
- 返回类型
pd.Series
- 引发
ValueError – 如果最终组件不是 Estimator。
- save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#
将 pipeline 保存到文件路径。
- 参数
file_path (str) – 保存文件的位置。
pickle_protocol (int) – pickle 数据流格式。
- score(self, X, y, objectives, X_train=None, y_train=None)[source]#
评估模型在当前和额外 objective 上的性能。
- 参数
X (pd.DataFrame or np.ndarray) – 数据,形状为 [n_samples, n_features]。
y (pd.Series) – 真实标签,长度为 [n_samples]。
objectives (list) – 要评分的非空 objective 列表。
X_train (pd.DataFrame, np.ndarray) – pipeline 训练用的数据,形状为 [n_samples_train, n_features]。
y_train (pd.Series, np.ndarray) – 用于训练 pipeline 的目标,形状为 [n_samples_train]。
- 返回
objective 分数的有序字典。
- 返回类型
dict
- property summary(self)#
pipeline 结构的简短总结,描述了使用的组件列表。
示例:逻辑回归分类器 w/ 简单填充器 + One Hot 编码器
- 返回
描述 pipeline 结构的字符串。
- transform(self, X, y=None)#
转换输入。
- 参数
X (pd.DataFrame, or np.ndarray) – 数据,形状为 [n_samples, n_features]。
y (pd.Series) – 目标数据,长度为 [n_samples]。默认为 None。
- 返回
转换后的输出。
- 返回类型
pd.DataFrame
- transform_all_but_final(self, X, y=None, X_train=None, y_train=None, calculating_residuals=False)#
通过应用所有预处理组件来转换数据。
- 参数
X (pd.DataFrame) – 要转换到 pipeline 中的输入数据。
y (pd.Series) – 与 pipeline 目标对应的目标。
X_train (pd.DataFrame) – 用于从过去观测中生成特征的训练数据。
y_train (pd.Series) – 用于从过去观测中生成特征的训练目标。
calculating_residuals (bool) – 是否正在调用 predict_in_sample 来计算残差。这意味着 X 和 y 参数不是未来数据,而是实际的训练数据。
- 返回
新的转换特征。
- 返回类型
pd.DataFrame
- class evalml.pipelines.time_series_classification_pipelines.TimeSeriesMulticlassClassificationPipeline(component_graph, parameters=None, custom_name=None, random_seed=0)[source]#
时间序列多分类问题的 Pipeline 基类。
- 参数
component_graph (list or dict) – 按顺序排列的组件列表。列表中接受字符串或 ComponentBase 子类。请注意,当在列表中指定重复组件时,重复组件的名称将根据其在列表中的索引进行修改。例如,组件图 [Imputer, One Hot Encoder, Imputer, Logistic Regression Classifier] 将具有名称 ["Imputer", "One Hot Encoder", "Imputer_2", "Logistic Regression Classifier"]
parameters (dict) – 字典,键为组件名称,值为该组件参数的字典。空字典 {} 表示使用组件参数的所有默认值。Pipeline 级别的参数,如 time_index, gap, 和 max_delay 必须使用 “pipeline” 键指定。例如:Pipeline(parameters={"pipeline": {"time_index": "Date", "max_delay": 4, "gap": 2}})。
random_seed (int) – 随机数生成器的种子。默认为 0。
示例
>>> pipeline = TimeSeriesMulticlassClassificationPipeline(component_graph=["Simple Imputer", "Logistic Regression Classifier"], ... parameters={"Logistic Regression Classifier": {"penalty": "elasticnet", ... "solver": "liblinear"}, ... "pipeline": {"gap": 1, "max_delay": 1, "forecast_horizon": 1, "time_index": "date"}}, ... custom_name="My TimeSeriesMulticlass Pipeline") >>> assert pipeline.custom_name == "My TimeSeriesMulticlass Pipeline" >>> assert pipeline.component_graph.component_dict.keys() == {'Simple Imputer', 'Logistic Regression Classifier'} >>> assert pipeline.parameters == { ... 'Simple Imputer': {'impute_strategy': 'most_frequent', 'fill_value': None}, ... 'Logistic Regression Classifier': {'penalty': 'elasticnet', ... 'C': 1.0, ... 'n_jobs': -1, ... 'multi_class': 'auto', ... 'solver': 'liblinear'}, ... 'pipeline': {'gap': 1, 'max_delay': 1, 'forecast_horizon': 1, 'time_index': "date"}}
属性
problem_type
ProblemTypes.TIME_SERIES_MULTICLASS
方法
确定二元分类 pipeline 的阈值是否可以调整。
获取 pipeline 的类名。在 pipeline fit 之前将返回 None。
构造一个具有相同组件、参数和随机种子新 pipeline。
从字符串列表或 objective 类创建 objective 实例。
pipeline 的自定义名称。
返回预测未来给定日期所需的日期。
返回预测未来给定日期所需的日期。
输出 pipeline 详情,包括组件参数。
与每个特征相关的特征重要性。特征选择删除的特征会被排除。
fit 时间序列分类模型。
fit 并转换组件图中的所有组件(如果所有组件都是 Transformer)。
按名称返回组件。
以字典形式返回所有组件的超参数范围。
生成表示 pipeline 图的图像。
生成一个字典,其中节点包含组件名称和参数,边详细说明组件关系。此字典在大多数情况下是可 JSON 序列化的。
生成 pipeline 特征重要性的柱状图。
将组件的 inverse_transform 方法以相反的顺序应用于 estimator 预测。
加载文件路径处的 pipeline。
返回此 pipeline 的模型族。
pipeline 的名称。
构造一个新的 pipeline 实例,其组件图相同但参数集不同。请勿与 Python 的 __new__ 方法混淆。
此 pipeline 的参数字典。
对目标未知 எதிர்கால data 进行预测。
对目标已知 எதிர்கால data 进行预测,例如 交叉验证。
对目标未知 எதிர்கால data 进行概率预测。
对目标已知 எதிர்கால data 进行预测,例如 交叉验证。
将 pipeline 保存到文件路径。
评估模型在当前和额外 objective 上的性能。
pipeline 结构的简短总结,描述了使用的组件列表。
转换输入。
通过应用所有预处理组件来转换数据。
- can_tune_threshold_with_objective(self, objective)#
确定二元分类 pipeline 的阈值是否可以调整。
- 参数
objective (ObjectiveBase) – 主要 AutoMLSearch objective。
- 返回
如果 pipeline 阈值可以调整,则为 True。
- 返回类型
bool
- property classes_(self)#
获取 pipeline 的类名。在 pipeline fit 之前将返回 None。
- clone(self)#
构造一个具有相同组件、参数和随机种子新 pipeline。
- 返回
此 pipeline 的新实例,具有相同的组件、参数和随机种子。
- static create_objectives(objectives)#
从字符串列表或 objective 类创建 objective 实例。
- property custom_name(self)#
pipeline 的自定义名称。
- dates_needed_for_prediction(self, date)#
返回预测未来给定日期所需的日期。
- 参数
date (pd.Timestamp) – 要预测的未来日期。
- 返回
预测给定日期所需的日期范围。
- 返回类型
dates_needed (tuple(pd.Timestamp))
- dates_needed_for_prediction_range(self, start_date, end_date)#
返回预测未来给定日期所需的日期。
- 参数
start_date (pd.Timestamp) – 要预测的未来日期范围的开始日期。
end_date (pd.Timestamp) – 要预测的未来日期范围的结束日期。
- 返回
预测给定日期所需的日期范围。
- 返回类型
dates_needed (tuple(pd.Timestamp))
- 引发
ValueError – 如果 start_date 不在 end_date 之前
- describe(self, return_dict=False)#
输出 pipeline 详情,包括组件参数。
- 参数
return_dict (bool) – 如果为 True,则返回有关 pipeline 信息的字典。默认为 False。
- 返回
如果 return_dict 为 True,则为所有组件参数的字典,否则为 None。
- 返回类型
dict
- property feature_importance(self)#
与每个特征相关的特征重要性。特征选择删除的特征会被排除。
- 返回
特征名称及其相应的重要性
- 返回类型
pd.DataFrame
- fit(self, X, y)#
fit 时间序列分类模型。
- 参数
X (pd.DataFrame or np.ndarray) – 输入训练数据,形状为 [n_samples, n_features]
y (pd.Series, np.ndarray) – 目标训练标签,长度为 [n_samples]
- 返回
self
- 引发
ValueError – 如果 y 中唯一类的数量不适合 pipeline 的类型。
- fit_transform(self, X, y)#
fit 并转换组件图中的所有组件(如果所有组件都是 Transformer)。
- 参数
X (pd.DataFrame) – 输入特征,形状为 [n_samples, n_features]。
y (pd.Series) – 目标数据,长度为 [n_samples]。
- 返回
转换后的输出。
- 返回类型
pd.DataFrame
- 引发
ValueError – 如果最终组件是 Estimator。
- get_component(self, name)#
按名称返回组件。
- 参数
name (str) – 组件名称。
- 返回
要返回的组件
- 返回类型
Component
- get_hyperparameter_ranges(self, custom_hyperparameters)#
以字典形式返回所有组件的超参数范围。
- 参数
custom_hyperparameters (dict) – pipeline 的自定义超参数。
- 返回
pipeline 中每个组件的超参数范围字典。
- 返回类型
dict
- graph(self, filepath=None)#
生成表示 pipeline 图的图像。
- 参数
filepath (str, optional) – 图形应保存到的路径。如果设置为 None(默认),则不会保存图形。
- 返回
可在 Jupyter notebooks 中直接显示的图形对象。
- 返回类型
graphviz.Digraph
- 引发
RuntimeError – 如果未安装 graphviz。
ValueError – 如果路径不可写。
- graph_dict(self)#
生成一个字典,其中节点包含组件名称和参数,边详细说明组件关系。此字典在大多数情况下是可 JSON 序列化的。
x_edges 指定从哪个组件传递特征数据。y_edges 指定从哪个组件传递目标数据。这可用于在各种可视化工具中构建图形。模板:{“Nodes”: {“component_name”: {“Name”: class_name, “Parameters”: parameters_attributes}, …}}, “x_edges”: [[from_component_name, to_component_name], [from_component_name, to_component_name], …], “y_edges”: [[from_component_name, to_component_name], [from_component_name, to_component_name], …]}
- 返回
表示 DAG 结构的字典。
- 返回类型
dag_dict (dict)
- graph_feature_importance(self, importance_threshold=0)#
生成 pipeline 特征重要性的柱状图。
- 参数
importance_threshold (float, optional) – 如果提供,则绘制绝对值大于 importance_threshold 的置换重要性特征。默认为零。
- 返回
显示特征及其相应重要性的柱状图。
- 返回类型
plotly.Figure
- 引发
ValueError – 如果重要性阈值无效。
- inverse_transform(self, y)#
将组件的 inverse_transform 方法以相反的顺序应用于 estimator 预测。
实现 inverse_transform 的组件有 PolynomialDecomposer, LogTransformer, LabelEncoder (待定)。
- 参数
y (pd.Series) – 最终组件特征。
- 返回
目标的逆变换。
- 返回类型
pd.Series
- static load(file_path: Union[str, io.BytesIO])#
加载文件路径处的 pipeline。
- 参数
file_path (str|BytesIO) – 加载文件路径或 BytesIO 对象。
- 返回
PipelineBase 对象
- property model_family(self)#
返回此 pipeline 的模型族。
- property name(self)#
pipeline 的名称。
- new(self, parameters, random_seed=0)#
构造一个新的 pipeline 实例,其组件图相同但参数集不同。请勿与 Python 的 __new__ 方法混淆。
- 参数
parameters (dict) – 字典,键为组件名称,值为该组件参数的字典。空字典或 None 表示使用所有组件参数的默认值。默认为 None。
random_seed (int) – 随机数生成器的种子。默认为 0。
- 返回
此 pipeline 的新实例,具有相同的组件。
- property parameters(self)#
此 pipeline 的参数字典。
- 返回
所有组件参数的字典。
- 返回类型
dict
- predict(self, X, objective=None, X_train=None, y_train=None)#
对目标未知 எதிர்கால data 进行预测。
- 参数
X (pd.DataFrame, or np.ndarray) – 数据,形状为 [n_samples, n_features]。
objective (Object or string) – 用于进行预测的 objective。
X_train (pd.DataFrame or np.ndarray or None) – 训练数据。
y_train (pd.Series or None) – 训练标签。
- 引发
ValueError – 如果 X_train 和/或 y_train 为 None 或最终组件不是 Estimator。
- 返回
预测结果。
- predict_in_sample(self, X, y, X_train, y_train, objective=None)#
对目标已知 எதிர்கால data 进行预测,例如 交叉验证。
注意:我们首先将 y 强制转换为 int 类型,以处理计算预测结果时可能返回的布尔值。如果我们最初拥有整数目标,这将无法通过其他方式进行转换。
- 参数
X (pd.DataFrame or np.ndarray) – 未来数据,形状为 [n_samples, n_features]。
y (pd.Series, np.ndarray) – 未来目标,形状为 [n_samples]。
X_train (pd.DataFrame, np.ndarray) – pipeline 训练用的数据,形状为 [n_samples_train, n_features]。
y_train (pd.Series, np.ndarray) – 用于训练 pipeline 的目标,形状为 [n_samples_train]。
objective (ObjectiveBase, str, None) – 可选,用于设置预测概率阈值的 objective。
- 返回
估计的标签。
- 返回类型
pd.Series
- 引发
ValueError – 如果最终组件不是 Estimator。
- predict_proba(self, X, X_train=None, y_train=None)#
对目标未知 எதிர்கால data 进行概率预测。
- 参数
X (pd.DataFrame or np.ndarray) – 未来数据,形状为 [n_samples, n_features]。
X_train (pd.DataFrame, np.ndarray) – pipeline 训练用的数据,形状为 [n_samples_train, n_features]。
y_train (pd.Series, np.ndarray) – 用于训练 pipeline 的目标,形状为 [n_samples_train]。
- 返回
估计的概率。
- 返回类型
pd.Series
- 引发
ValueError – 如果最终组件不是 Estimator。
- predict_proba_in_sample(self, X_holdout, y_holdout, X_train, y_train)#
对目标已知 எதிர்கால data 进行预测,例如 交叉验证。
- 参数
X_holdout (pd.DataFrame or np.ndarray) – 未来数据,形状为 [n_samples, n_features]。
y_holdout (pd.Series, np.ndarray) – 未来目标,形状为 [n_samples]。
X_train (pd.DataFrame, np.ndarray) – pipeline 训练用的数据,形状为 [n_samples_train, n_features]。
y_train (pd.Series, np.ndarray) – 用于训练 pipeline 的目标,形状为 [n_samples_train]。
- 返回
估计的概率。
- 返回类型
pd.Series
- 引发
ValueError – 如果最终组件不是 Estimator。
- save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#
将 pipeline 保存到文件路径。
- 参数
file_path (str) – 保存文件的位置。
pickle_protocol (int) – pickle 数据流格式。
- score(self, X, y, objectives, X_train=None, y_train=None)#
评估模型在当前和额外 objective 上的性能。
- 参数
X (pd.DataFrame or np.ndarray) – 数据,形状为 [n_samples, n_features]。
y (pd.Series) – 真实标签,长度为 [n_samples]。
objectives (list) – 要评分的非空 objective 列表。
X_train (pd.DataFrame, np.ndarray) – pipeline 训练用的数据,形状为 [n_samples_train, n_features]。
y_train (pd.Series, np.ndarray) – 用于训练 pipeline 的目标,形状为 [n_samples_train]。
- 返回
objective 分数的有序字典。
- 返回类型
dict
- property summary(self)#
pipeline 结构的简短总结,描述了使用的组件列表。
示例:逻辑回归分类器 w/ 简单填充器 + One Hot 编码器
- 返回
描述 pipeline 结构的字符串。
- transform(self, X, y=None)#
转换输入。
- 参数
X (pd.DataFrame, or np.ndarray) – 数据,形状为 [n_samples, n_features]。
y (pd.Series) – 目标数据,长度为 [n_samples]。默认为 None。
- 返回
转换后的输出。
- 返回类型
pd.DataFrame
- transform_all_but_final(self, X, y=None, X_train=None, y_train=None, calculating_residuals=False)#
通过应用所有预处理组件来转换数据。
- 参数
X (pd.DataFrame) – 要转换到 pipeline 中的输入数据。
y (pd.Series) – 与 pipeline 目标对应的目标。
X_train (pd.DataFrame) – 用于从过去观测中生成特征的训练数据。
y_train (pd.Series) – 用于从过去观测中生成特征的训练目标。
calculating_residuals (bool) – 是否正在调用 predict_in_sample 来计算残差。这意味着 X 和 y 参数不是未来数据,而是实际的训练数据。
- 返回
新的转换特征。
- 返回类型
pd.DataFrame