metrics#

用于模型理解的标准指标。

模块内容#

函数#

check_distribution

确定预测数据的分布是否可能与真实数据(ground truth)的分布匹配。

confusion_matrix

用于二元分类和多类别分类的混淆矩阵。

graph_confusion_matrix

生成并显示混淆矩阵图。

graph_precision_recall_curve

生成并显示精确率-召回率图。

graph_roc_curve

生成并显示用于二元分类和多类别分类问题的接收者操作特征 (ROC) 图。

normalize_confusion_matrix

对混淆矩阵进行归一化。

precision_recall_curve

给定标签和二元分类器的预测概率,计算并返回表示精确率-召回率曲线的数据。

roc_curve

给定标签和分类器的预测概率,计算并返回表示接收者操作特征 (ROC) 曲线的数据。适用于二元或多类别问题。

目录#

evalml.model_understanding.metrics.check_distribution(y_true, y_pred, problem_type, threshold=0.1)[source]#

确定预测数据的分布是否可能与真实数据(ground truth)的分布匹配。

将根据给定的问题类型使用不同的统计检验:- 分类(二元或多类别)- 卡方检验 (chi-squared test) - 回归 - 柯尔莫哥洛夫-斯米尔诺夫检验 (Kolmogorov-Smirnov test) - 时间序列回归 - Wilcoxon 符号秩检验 (Wilcoxon signed-rank test) :param y_true: 真实数据(ground truth)。:type y_true: pd.Series :param y_pred: 管道的预测结果。:type y_pred: pd.Series :param problem_type: 管道的问题类型,用于确定方法。:type problem_type: str or ProblemType :param threshold: 用于接受或拒绝零假设的 p 值阈值。

应介于 0 和 1 之间(不包含两端)。默认为 0.1。

返回值

如果预测值的分布与真实分布不太可能匹配,则返回 0;如果可能匹配,则返回 1。

返回类型

int

evalml.model_understanding.metrics.confusion_matrix(y_true, y_predicted, normalize_method='true')[source]#

用于二元分类和多类别分类的混淆矩阵。

参数
  • y_true (pd.Seriesnp.ndarray) – 真实的二元标签。

  • y_predicted (pd.Seriesnp.ndarray) – 二元分类器的预测结果。

  • normalize_method ({'true', 'pred', 'all', None}) – 要使用的归一化方法,如果不是 None。支持的选项包括:'true' 按行归一化,'pred' 按列归一化,或 'all' 按所有值归一化。默认为 'true'。

返回值

混淆矩阵。列标题表示预测标签,而行标题表示实际标签。

返回类型

pd.DataFrame

evalml.model_understanding.metrics.graph_confusion_matrix(y_true, y_pred, normalize_method='true', title_addition=None)[source]#

生成并显示混淆矩阵图。

如果设置了 normalize_method,悬停文本将显示原始计数,否则悬停文本将显示使用 'true' 方法归一化的计数。

参数
  • y_true (pd.Seriesnp.ndarray) – 真实的二元标签。

  • y_pred (pd.Seriesnp.ndarray) – 二元分类器的预测结果。

  • normalize_method ({'true', 'pred', 'all', None}) – 要使用的归一化方法,如果不是 None。支持的选项包括:'true' 按行归一化,'pred' 按列归一化,或 'all' 按所有值归一化。默认为 'true'。

  • title_addition (str) – 如果不是 None,则附加到图表标题。默认为 None。

返回值

表示生成的混淆矩阵图表的 plotly.Figure 对象。

evalml.model_understanding.metrics.graph_precision_recall_curve(y_true, y_pred_proba, title_addition=None)[source]#

生成并显示精确率-召回率图。

参数
  • y_true (pd.Seriesnp.ndarray) – 真实的二元标签。

  • y_pred_proba (pd.Seriesnp.ndarray) – 二元分类器在应用阈值之前的预测结果。请注意,这应该是“真”标签的预测概率。

  • title_addition (strNone) – 如果不是 None,则附加到图表标题。默认为 None。

返回值

表示生成的精确率-召回率图表的 plotly.Figure 对象

evalml.model_understanding.metrics.graph_roc_curve(y_true, y_pred_proba, custom_class_names=None, title_addition=None)[source]#

生成并显示用于二元分类和多类别分类问题的接收者操作特征 (ROC) 图。

参数
  • y_true (pd.Seriesnp.ndarray) – 真实标签。

  • y_pred_proba (pd.Seriesnp.ndarray) – 分类器在应用阈值之前的预测结果。请注意,在二元情况下,这应该是一个一维数组,包含“真”标签的预测概率。

  • custom_class_names (listNone) – 如果不是 None,则为类别的自定义标签。默认为 None。

  • title_addition (strNone) – 如果不是 None,则附加到图表标题。默认为 None。

返回值

表示生成的 ROC 图表的 plotly.Figure 对象

引发

ValueError – 如果自定义类别名称的数量与输入数据中的类别数量不匹配。

evalml.model_understanding.metrics.normalize_confusion_matrix(conf_mat, normalize_method='true')[source]#

对混淆矩阵进行归一化。

参数
  • conf_mat (pd.DataFramenp.ndarray) – 要归一化的混淆矩阵。

  • normalize_method ({'true', 'pred', 'all'}) – 归一化方法。支持的选项包括:'true' 按行归一化,'pred' 按列归一化,或 'all' 按所有值归一化。默认为 'true'。

返回值

输入混淆矩阵的归一化版本。列标题表示预测标签,而行标题表示实际标签。

返回类型

pd.DataFrame

引发

ValueError – 如果配置无效,或者给定轴的总和为零且指定了按轴归一化。

evalml.model_understanding.metrics.precision_recall_curve(y_true, y_pred_proba, pos_label_idx=-1)[source]#

给定标签和二元分类器的预测概率,计算并返回表示精确率-召回率曲线的数据。

参数
  • y_true (pd.Seriesnp.ndarray) – 真实的二元标签。

  • y_pred_proba (pd.Seriesnp.ndarray) – 二元分类器在应用阈值之前的预测结果。请注意,这应该是“真”标签的预测概率。

  • pos_label_idx (int) – 对应于正类别的列索引。如果预测概率是二维的,这将用于访问正类别的概率。

返回值

包含用于生成精确率-召回率图表的指标的字典,包含以下键

  • precision:精确率值。

  • recall:召回率值。

  • thresholds:用于生成精确率和召回率的阈值。

  • auc_score:ROC 曲线下的面积 (AUC)。

返回类型

list

引发

NoPositiveLabelException – 如果预测概率在指定的标签处不包含列。

evalml.model_understanding.metrics.roc_curve(y_true, y_pred_proba)[source]#

给定标签和分类器的预测概率,计算并返回表示接收者操作特征 (ROC) 曲线的数据。适用于二元或多类别问题。

参数
  • y_true (pd.Seriesnp.ndarray) – 真实标签。

  • y_pred_proba (pd.Seriespd.DataFramenp.ndarray) – 分类器在应用阈值之前的预测结果。

返回值

返回一个字典列表(每个类别对应一个字典)。二元分类问题返回一个包含一个字典的列表。
每个字典包含用于生成 ROC 图表的指标,包含以下键
  • fpr_rate:假正率。

  • tpr_rate:真正率。

  • threshold:用于生成每对真正率/假正率的阈值。

  • auc_score:ROC 曲线下的面积 (AUC)。

返回类型

list(dict)