metrics_utilities 模块

用于计算模型评估指标的实用程序。

函数

compute_by_group

按组名称对 y_true 和 y_pred 进行分组。

compute_by_group(y_test: numpy.ndarray, y_pred: numpy.ndarray, group_by_columns: numpy.ndarray, min_max: Optional[Dict[Any, Tuple[float, float]]], partial_func: Callable[[…], Dict[str, Any]], **partial_func_kwargs: Any) -> Dict[Any, Dict[str, List[float]]]

参数

y_test
必需

实际目标。

y_pred
必需

预测的目标。

group_by_columns
必需

用作组指标的列的 ndarray。

min_max
必需

最小、最大元组的组键的字典。

partial_func
必需

采用 y_test/y_pred 并返回某些样本组的结果字典的函数。 这应该是对 score_ 方法的调用,以确保 kwargs 与签名匹配。

partial_func_kwargs
必需

调用 partial_func 所需的关键字参数。

返回

组名 -> 结果的字典。

compute_metrics

计算模型评估指标。

注意:此方法仅由 Miro 使用,并且必须保持向后兼容性。

compute_metrics(X_test, y_test, X_train, y_train, y_pred, model, dataset, task, metrics, use_binary_metrics=False, sample_weight=None, problem_info=None, enable_metric_confidence=False)

参数

X_test
必需

用于计算预测的输入。

y_test
必需

测试集的目标。

X_train
必需

用于训练模型的输入。

y_train
必需

用于训练模型的目标。

y_pred
必需

预测值。

model
必需

用于进行预测的模型。

dataset
必需

包含数据集相关信息的 ClientDataset 对象(参见 datasets.py)。

task
必需

任务类型(参见 constants.py)。

metrics
必需

将计算的指标。

use_binary_metrics
默认值: False

仅计算用于二元分类的第二个类上的指标。 这通常是 true 类(当标签为 0 和 1,或者为 false 和 true 时)。

sample_weight
默认值: None

计算每个指标的分数时要使用的每个样本的权重。

problem_info
默认值: None

用于运行的 ProblemInfo 对象。

enable_metric_confidence
默认值: False

用于在计算指标时对置信区间进行评分

返回

指标名称 -> 分数的字典。

compute_metrics_expr_store

计算模型评估指标。

compute_metrics_expr_store(X_test, y_test, X_train, y_train, y_pred, model, task, metrics, use_binary_metrics=False, sample_weight=None, problem_info=None, enable_metric_confidence=False, positive_label=None, confidence_metrics=None, y_pred_original=None, y_test_original=None)

参数

X_test
必需

用于计算预测的输入。

y_test
必需

测试集的目标。

X_train
必需

用于训练模型的输入。

y_train
必需

用于训练模型的目标。

y_pred
必需

预测值。

model
必需

用于进行预测的模型。

task
必需

任务类型(参见 constants.py)。

metrics
必需

将计算的指标。

use_binary_metrics
默认值: False

仅计算用于二元分类的第二个类上的指标。 这通常是 true 类(当标签为 0 和 1,或者为 false 和 true 时)。

sample_weight
默认值: None

计算每个指标的分数时要使用的每个样本的权重。

problem_info
默认值: None

用于运行的 ProblemInfo 对象。

enable_metric_confidence
默认值: False

用于在计算指标时对置信区间进行评分

positive_label
默认值: None

在二元分类指标中设计为正类的类。

confidence_metrics
默认值: None

要计算置信区间的指标列表。 如果为 None,它将采用指标的值。如果不为 None,则必须是指标的子集。 此列表中包含但“指标”中没有的指标将被忽略

y_pred_original
默认值: None

未转换的预测值。 如果模型未加载到内存中,则需要此项。

y_test_original
默认值: None

未转换的测试目标值。 如果模型未加载到内存中,则需要此项。

返回

指标名称 -> 分数的字典。

compute_normalized_metrics_forecasting_by_grain

计算按粒度归一化的指标。

计算应按粒度而非在整个数据集上进行归一化的指标。 归一化后的平均指标。

compute_normalized_metrics_forecasting_by_grain(X_train: Union[numpy.ndarray, pandas.core.frame.DataFrame], y_train: Union[numpy.ndarray, azureml.dataprep.api.dataflow.Dataflow], X_valid: Union[numpy.ndarray, pandas.core.frame.DataFrame], y_valid: Union[numpy.ndarray, azureml.dataprep.api.dataflow.Dataflow], y_pred: numpy.ndarray, metrics: List[str], sample_weight: Optional[numpy.ndarray], transformation_pipeline: Any) -> Dict[str, Union[float, Dict[str, Any]]]

参数

X_train
必需

特征化训练数据。

y_train
必需

特征化训练目标。

X_valid
必需

特征化验证数据。

y_valid
必需

特征化验证目标。

y_pred
必需

模型中的预测目标。

metrics
必需

要计算的指标。

transformation_pipeline
必需

用于对 X & y 进行特征化的拟合 timeseriestransformer。

transformation_pipeline

get_class_labels

从数据集中获取完整的类标签集。

注意:此方法仅由 Miro 使用,并且必须保持向后兼容性。

有时,如果 ClientDatasets 对象是使用 meta_data 参数构造的,则不会在该对象上设置 class_labels 特性。 在这种情况下,我们需要手动计算唯一标签才能计算指标。

get_class_labels(dataset)

参数

dataset
必需

包含数据集相关信息的 DatasetBase 对象。

返回

完整数据集中的标签。

get_class_labels_expr_store

从 ExperimentStore 中获取完整的类标签集。

有时,不会在 ExperimentStore 的元数据上设置 class_labels 特性。 在这种情况下,我们需要手动计算唯一标签才能计算指标。

get_class_labels_expr_store()

返回

存储在 ExperimentStore 中的完整数据集中的标签。

get_grains_from_data

从数据获取粒度。

get_grains_from_data(data, grain_column_names, tranformation_pipeline)

参数

data
必需

特征化数据。 可以是数据帧或 ndarray。

grain_column_names
必需

用于训练模型的 grain_column_names 的列表。

transformation_pipeline
必需

用于对数据进行特征化的 timeseriestransformer。

get_trained_labels

返回已在其上训练模型的类标签。

注意:此方法仅由 Miro 使用,并且必须保持向后兼容性。

有时,模型仅在数据集中的类标签子集上进行训练。 这尤其适用于交叉验证和自定义验证集。 此函数返回已在其上训练模型的类标签。 如果模型是回归模型,则该函数返回 y_train 的 np.unique,但此函数不得用于回归 :param 模型(即,用于进行预测的模型)。 :param y_train:模型训练期间使用的目标。 :param dataset:包含数据集相关信息的 DatasetBase 对象。 :param problem_info:用于运行的 ProblemInfo 对象。 :return:训练模型时使用的标签。

get_trained_labels(model, y_train=None, dataset=None, problem_info=None)

参数

model
y_train
默认值: None
dataset
默认值: None
problem_info
默认值: None

get_trained_labels_expr_store

返回已在其上训练模型的类标签。

有时,模型仅在数据集中的类标签子集上进行训练。 这尤其适用于交叉验证和自定义验证集。 此函数返回已在其上训练模型的类标签。 如果模型是回归模型,则该函数返回 y_train 的 np.unique,但此函数不得用于回归。 :param 模型:用于进行预测的模型。 :param y_train:模型训练期间使用的目标。 :param problem_info:用于运行的 ProblemInfo 对象。 :return:训练模型时使用的标签。

get_trained_labels_expr_store(model, y_train=None, problem_info=None)

参数

model
y_train
默认值: None
problem_info
默认值: None

pad_predictions

不推荐使用此函数。

pad_predictions(y_pred_probs: numpy.ndarray, train_labels: Optional[numpy.ndarray], class_labels: Optional[numpy.ndarray]) -> numpy.ndarray

参数

y_pred_probs
train_labels
class_labels

predict

使用提供的任务类型从给定模型返回预测。

predict(task, model, X_test)

参数

task
必需

任务类型(参见 constants.py)。

model
必需

用于进行预测的模型。

X_test
必需

用于预测的输入。

返回

模型在 X_test 上的预测 返回的数组的形状取决于任务类型 分类将返回每个类的概率。

predict_and_compute_metrics

使用测试集和计算模型评估指标进行预测。

注意:此方法仅由 Miro 使用,并且必须保持向后兼容性。

predict_and_compute_metrics(X_test, y_test, X_train, y_train, model, dataset, task, metrics, use_binary_metrics=False, sample_weight=None, problem_info=None, enable_metric_confidence=False)

参数

X_test
必需

用于测试/计算指标的输入。

y_test
必需

用于测试/计算指标的目标。

X_train
必需

用于训练模型的输入。

y_train
必需

用于训练模型的目标。

model
必需

进行预测的模型。

dataset
必需

包含数据集相关信息的 ClientDataset 对象(参见 datasets.py)。

task
必需

任务类型(参见 constants.py)。

metrics
必需

要计算的指标。

use_binary_metrics
默认值: False

仅计算用于二元分类的第二个类上的指标。 这通常是 true 类(当标签为 0 和 1,或者为 false 和 true 时)。

sample_weight
默认值: None

计算每个指标的分数时要使用的每个样本的权重。

problem_info
默认值: None

用于运行的 ProblemInfo 对象。

enable_metric_confidence
默认值: False

用于在计算指标时对置信区间进行评分

返回

指标名称 -> 分数的字典。

predict_and_compute_metrics_expr_store

使用测试集和计算模型评估指标进行预测。

predict_and_compute_metrics_expr_store(X_test, y_test, X_train, y_train, model, task, metrics, use_binary_metrics=False, sample_weight=None, problem_info=None, enable_metric_confidence=False, positive_label=None, confidence_metrics=None)

参数

X_test
必需

用于测试/计算指标的输入。

y_test
必需

用于测试/计算指标的目标。

X_train
必需

用于训练模型的输入。

y_train
必需

用于训练模型的目标。

model
必需

进行预测的模型。

task
必需

任务类型(参见 constants.py)。

metrics
必需

要计算的指标。

use_binary_metrics
默认值: False

仅计算用于二元分类的第二个类上的指标。 这通常是 true 类(当标签为 0 和 1,或者为 false 和 true 时)。

sample_weight
默认值: None

计算每个指标的分数时要使用的每个样本的权重。

problem_info
默认值: None

用于运行的 ProblemInfo 对象。

enable_metric_confidence
默认值: False

用于在计算指标时对置信区间进行评分

positive_label
默认值: None

在二元分类指标中设计为正类的类。

confidence_metrics
默认值: None

要计算置信区间的指标列表。 如果为 None,它将采用指标的值。如果不为 None,则必须是指标的子集。 此列表中包含但“指标”中没有的指标将被忽略

返回

指标名称 -> 分数的字典。