lead_scoring#
潜在客户评分目标函数。
模块内容#
类摘要#
潜在客户评分。 |
目录#
- 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
方法
计算得分之间的百分比差异。
返回一个布尔值,指示是否可以优化二元分类目标函数的阈值。
将学习到的阈值应用于预测概率以获得预测类别。
返回目标函数是否为一个问题类型定义。
计算每个潜在客户的利润。
学习一个优化当前目标函数的二元分类阈值。
如果为 True,则此目标函数仅对正向数据有效。默认为 False。
返回一个数值分数,指示基于预测值和实际值之间差异的性能。
验证评分的输入。
- 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.DataFrame 或 np.ndarray) – 用于计算得分的形状为 [n_samples, n_features] 的额外数据
sample_weight (pd.DataFrame 或 np.ndarray) – 用于计算目标值结果的样本权重
- 返回值
score
- validate_inputs(self, y_true, y_predicted)#
验证评分的输入。