lead_scoring#

潜在客户评分目标函数。

模块内容#

类摘要#

LeadScoring

潜在客户评分。

目录#

class evalml.objectives.lead_scoring.LeadScoring(true_positives=1, false_positives=-1)[source]#

潜在客户评分。

参数
  • true_positives (int) – 真阳性的奖励。默认为 1。

  • false_positives (int) – 假阳性的成本。应为负值。默认为 -1。

属性

expected_range

greater_is_better

True

is_bounded_like_percentage

False

名称

潜在客户评分

perfect_score

problem_types

[ProblemTypes.BINARY, ProblemTypes.TIME_SERIES_BINARY]

score_needs_proba

False

方法

calculate_percent_difference

计算得分之间的百分比差异。

can_optimize_threshold

返回一个布尔值,指示是否可以优化二元分类目标函数的阈值。

decision_function

将学习到的阈值应用于预测概率以获得预测类别。

is_defined_for_problem_type

返回目标函数是否为一个问题类型定义。

objective_function

计算每个潜在客户的利润。

optimize_threshold

学习一个优化当前目标函数的二元分类阈值。

positive_only

如果为 True,则此目标函数仅对正向数据有效。默认为 False。

score

返回一个数值分数,指示基于预测值和实际值之间差异的性能。

validate_inputs

验证评分的输入。

classmethod calculate_percent_difference(cls, score, baseline_score)#

计算得分之间的百分比差异。

参数
  • score (float) – 一个得分。此目标函数 score 方法的输出。

  • baseline_score (float) – 一个得分。此目标函数 score 方法的输出。实践中,这是使用基线估算器在此目标函数上获得的得分。

返回值

得分之间的百分比差异。注意,对于可以解释

为百分比的目标函数,这将是参考得分和得分之间的差异。对于所有其他目标函数,差异将通过参考得分进行归一化。

返回类型

float

property can_optimize_threshold(cls)#

返回一个布尔值,指示是否可以优化二元分类目标函数的阈值。

对于任何直接使用预测概率的目标函数(如对数损失和 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) – 训练数据中所需的任何额外列。

返回值

预测结果

classmethod is_defined_for_problem_type(cls, problem_type)#

返回目标函数是否为一个问题类型定义。

objective_function(self, y_true, y_predicted, y_train=None, X=None, sample_weight=None)[source]#

计算每个潜在客户的利润。

参数
  • y_predicted (pd.Series) – 预测标签。

  • y_true (pd.Series) – 真实标签。

  • y_train (pd.Series) – 忽略。

  • X (pd.DataFrame) – 忽略。

  • sample_weight (pd.DataFrame) – 忽略。

返回值

每个潜在客户的利润

返回类型

float

optimize_threshold(self, ypred_proba, y_true, X=None)#

学习一个优化当前目标函数的二元分类阈值。

参数
  • ypred_proba (pd.Series) – 分类器的预测概率

  • y_true (pd.Series) – 预测的真实值。

  • X (pd.DataFrame, optional) – 训练数据中所需的任何额外列。

返回值

此目标函数的最优阈值。

引发

RuntimeError – 如果目标函数无法优化。

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.DataFramenp.ndarray) – 用于计算得分的形状为 [n_samples, n_features] 的额外数据

  • sample_weight (pd.DataFramenp.ndarray) – 用于计算目标值结果的样本权重

返回值

score

validate_inputs(self, y_true, y_predicted)#

验证评分的输入。