metrics#
用于模型理解的标准指标。
模块内容#
函数#
确定预测数据的分布是否可能与真实数据(ground truth)的分布匹配。 |
|
用于二元分类和多类别分类的混淆矩阵。 |
|
生成并显示混淆矩阵图。 |
|
生成并显示精确率-召回率图。 |
|
生成并显示用于二元分类和多类别分类问题的接收者操作特征 (ROC) 图。 |
|
对混淆矩阵进行归一化。 |
|
给定标签和二元分类器的预测概率,计算并返回表示精确率-召回率曲线的数据。 |
|
给定标签和分类器的预测概率,计算并返回表示接收者操作特征 (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.Series 或 np.ndarray) – 真实的二元标签。
y_predicted (pd.Series 或 np.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.Series 或 np.ndarray) – 真实的二元标签。
y_pred (pd.Series 或 np.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.Series 或 np.ndarray) – 真实的二元标签。
y_pred_proba (pd.Series 或 np.ndarray) – 二元分类器在应用阈值之前的预测结果。请注意,这应该是“真”标签的预测概率。
title_addition (str 或 None) – 如果不是 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.Series 或 np.ndarray) – 真实标签。
y_pred_proba (pd.Series 或 np.ndarray) – 分类器在应用阈值之前的预测结果。请注意,在二元情况下,这应该是一个一维数组,包含“真”标签的预测概率。
custom_class_names (list 或 None) – 如果不是 None,则为类别的自定义标签。默认为 None。
title_addition (str 或 None) – 如果不是 None,则附加到图表标题。默认为 None。
- 返回值
表示生成的 ROC 图表的 plotly.Figure 对象
- 引发
ValueError – 如果自定义类别名称的数量与输入数据中的类别数量不匹配。
- evalml.model_understanding.metrics.normalize_confusion_matrix(conf_mat, normalize_method='true')[source]#
对混淆矩阵进行归一化。
- 参数
conf_mat (pd.DataFrame 或 np.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.Series 或 np.ndarray) – 真实的二元标签。
y_pred_proba (pd.Series 或 np.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.Series 或 np.ndarray) – 真实标签。
y_pred_proba (pd.Series 或 pd.DataFrame 或 np.ndarray) – 分类器在应用阈值之前的预测结果。
- 返回值
- 返回一个字典列表(每个类别对应一个字典)。二元分类问题返回一个包含一个字典的列表。
- 每个字典包含用于生成 ROC 图表的指标,包含以下键
fpr_rate:假正率。
tpr_rate:真正率。
threshold:用于生成每对真正率/假正率的阈值。
auc_score:ROC 曲线下的面积 (AUC)。
- 返回类型
list(dict)