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
仅计算用于二元分类的第二个类上的指标。 这通常是 true 类(当标签为 0 和 1,或者为 false 和 true 时)。
- sample_weight
计算每个指标的分数时要使用的每个样本的权重。
- problem_info
用于运行的 ProblemInfo 对象。
- enable_metric_confidence
用于在计算指标时对置信区间进行评分
返回
指标名称 -> 分数的字典。
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
仅计算用于二元分类的第二个类上的指标。 这通常是 true 类(当标签为 0 和 1,或者为 false 和 true 时)。
- sample_weight
计算每个指标的分数时要使用的每个样本的权重。
- problem_info
用于运行的 ProblemInfo 对象。
- enable_metric_confidence
用于在计算指标时对置信区间进行评分
- positive_label
在二元分类指标中设计为正类的类。
- confidence_metrics
要计算置信区间的指标列表。 如果为 None,它将采用指标的值。如果不为 None,则必须是指标的子集。 此列表中包含但“指标”中没有的指标将被忽略
- y_pred_original
未转换的预测值。 如果模型未加载到内存中,则需要此项。
- y_test_original
未转换的测试目标值。 如果模型未加载到内存中,则需要此项。
返回
指标名称 -> 分数的字典。
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
- dataset
- problem_info
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
- problem_info
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
仅计算用于二元分类的第二个类上的指标。 这通常是 true 类(当标签为 0 和 1,或者为 false 和 true 时)。
- sample_weight
计算每个指标的分数时要使用的每个样本的权重。
- problem_info
用于运行的 ProblemInfo 对象。
- enable_metric_confidence
用于在计算指标时对置信区间进行评分
返回
指标名称 -> 分数的字典。
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
仅计算用于二元分类的第二个类上的指标。 这通常是 true 类(当标签为 0 和 1,或者为 false 和 true 时)。
- sample_weight
计算每个指标的分数时要使用的每个样本的权重。
- problem_info
用于运行的 ProblemInfo 对象。
- enable_metric_confidence
用于在计算指标时对置信区间进行评分
- positive_label
在二元分类指标中设计为正类的类。
- confidence_metrics
要计算置信区间的指标列表。 如果为 None,它将采用指标的值。如果不为 None,则必须是指标的子集。 此列表中包含但“指标”中没有的指标将被忽略
返回
指标名称 -> 分数的字典。
反馈
提交和查看相关反馈