binary_classification_objective#
所有二分类目标的基类。
模块内容#
类摘要#
所有二分类目标的基类。 |
目录#
- class evalml.objectives.binary_classification_objective.BinaryClassificationObjective[源]#
所有二分类目标的基类。
属性
problem_types
[ProblemTypes.BINARY, ProblemTypes.TIME_SERIES_BINARY]
方法
计算得分之间的百分比差异。
返回一个布尔值,确定我们是否可以优化二分类目标阈值。
将学习到的阈值应用于预测概率以获得预测类别。
返回目标的预期范围,这不一定是可能的范围。
返回一个布尔值,确定得分越大是否表示模型性能越好。
返回此目标是否包含在 0 和 1 之间。
返回目标是否已为问题类型定义。
返回描述目标的名称。
根据指定的指标计算所提供的预测相对于实际标签的相对值。
学习一个优化当前目标的二分类阈值。
返回通过在完美模型上评估此目标获得的得分。
如果为 True,则此目标仅对正向数据有效。默认为 False。
返回一个数值得分,表示基于预测值和实际值之间差异的性能。
返回一个布尔值,确定 score() 方法是否需要概率估计。
验证评分输入。
- classmethod calculate_percent_difference(cls, score, baseline_score)#
计算得分之间的百分比差异。
- 参数
score (float) – 一个得分。此目标 score 方法的输出。
baseline_score (float) – 一个得分。此目标 score 方法的输出。实际上,这是使用基线估计器在此目标上达到的得分。
- 返回
- 得分之间的百分比差异。请注意,对于可以解释为百分比的目标,
这将是参考得分和得分之间的差异。对于所有其他目标,差异将由参考得分归一化。
- 返回类型
float
- property can_optimize_threshold(cls)#
返回一个布尔值,确定我们是否可以优化二分类目标阈值。
对于直接处理预测概率的任何目标(例如 log loss 和 AUC),此属性将为 false。否则,它将为 true。
- 返回
目标是否可以优化。
- 返回类型
bool
- decision_function(self, ypred_proba, threshold=0.5, X=None)[源]#
将学习到的阈值应用于预测概率以获得预测类别。
- 参数
ypred_proba (pd.Series, np.ndarray) – 分类器的预测概率
threshold (float, optional) – 用于进行预测的阈值。默认为 0.5。
X (pd.DataFrame, optional) – 训练数据中所需的任何额外列。
- 返回
预测结果
- property expected_range(cls)#
返回目标的预期范围,这不一定是可能的范围。
例如,我们预期的 R2 范围是 [-1, 1],尽管实际范围是 (-inf, 1]。
- property greater_is_better(cls)#
返回一个布尔值,确定得分越大是否表示模型性能越好。
- property is_bounded_like_percentage(cls)#
返回此目标是否包含在 0 和 1 之间。
- classmethod is_defined_for_problem_type(cls, problem_type)#
返回目标是否已为问题类型定义。
- property name(cls)#
返回描述目标的名称。
- abstract classmethod objective_function(cls, y_true, y_predicted, y_train=None, X=None, sample_weight=None)#
根据指定的指标计算所提供的预测相对于实际标签的相对值。
- 参数
y_predicted (pd.Series) – 长度为 [n_samples] 的预测值
y_true (pd.Series) – 长度为 [n_samples] 的实际类别标签
y_train (pd.Series) – 长度为 [n_samples] 的观测训练值
X (pd.DataFrame or np.ndarray) – 计算得分所需的额外数据,形状为 [n_samples, n_features]
sample_weight (pd.DataFrame or np.ndarray) – 计算目标值结果时使用的样本权重
- 返回
用于计算得分的数值
- optimize_threshold(self, ypred_proba, y_true, X=None)[源]#
学习一个优化当前目标的二分类阈值。
- 参数
ypred_proba (pd.Series) – 分类器的预测概率
y_true (pd.Series) – 预测的真实值。
X (pd.DataFrame, optional) – 训练数据中所需的任何额外列。
- 返回
此目标的最佳阈值。
- 抛出
RuntimeError – 如果目标无法优化。
- property perfect_score(cls)#
返回通过在完美模型上评估此目标获得的得分。
- positive_only(cls)#
如果为 True,则此目标仅对正向数据有效。默认为 False。
- score(self, y_true, y_predicted, y_train=None, X=None, sample_weight=None)#
返回一个数值得分,表示基于预测值和实际值之间差异的性能。
- 参数
y_predicted (pd.Series) – 长度为 [n_samples] 的预测值
y_true (pd.Series) – 长度为 [n_samples] 的实际类别标签
y_train (pd.Series) – 长度为 [n_samples] 的观测训练值
X (pd.DataFrame or np.ndarray) – 计算得分所需的额外数据,形状为 [n_samples, n_features]
sample_weight (pd.DataFrame or np.ndarray) – 计算目标值结果时使用的样本权重
- 返回
score
- property score_needs_proba(cls)#
返回一个布尔值,确定 score() 方法是否需要概率估计。
对于处理预测概率的目标(例如 log loss 或 AUC),此属性应为 true;对于比较预测类别标签与实际标签的目标(例如 F1 或相关性),此属性应为 false。