Skip to main content

常见离线策略评估方法的实现。

项目描述

线下政策评估

PyPI 版本

Python中常见的离线策略评估方法的实现和示例。有关离线策略评估的更多信息,请参阅本教程

安装

pip install offline-evaluation

用法

from ope.methods import doubly_robust

获取之前策略生成的一些历史日志:

df = pd.DataFrame([
	{"context": {"p_fraud": 0.08}, "action": "blocked", "action_prob": 0.90, "reward": 0},
	{"context": {"p_fraud": 0.03}, "action": "allowed", "action_prob": 0.90, "reward": 20},
	{"context": {"p_fraud": 0.02}, "action": "allowed", "action_prob": 0.90, "reward": 10},
	{"context": {"p_fraud": 0.01}, "action": "allowed", "action_prob": 0.90, "reward": 20},     
	{"context": {"p_fraud": 0.09}, "action": "allowed", "action_prob": 0.10, "reward": -20},
	{"context": {"p_fraud": 0.40}, "action": "allowed", "action_prob": 0.10, "reward": -10},
 ])

P(action | context)定义一个在新策略下计算的函数:

def action_probabilities(context):
    epsilon = 0.10
    if context["p_fraud"] > 0.10:
        return {"allowed": epsilon, "blocked": 1 - epsilon}    
    return {"allowed": 1 - epsilon, "blocked": epsilon}

进行评估:

doubly_robust.evaluate(df, action_probabilities)
> {'expected_reward_logging_policy': 3.33, 'expected_reward_new_policy': -28.47}

这意味着新策略比日志记录策略差得多。与其在线 A/B 测试这个新策略,不如先离线测试一些其他策略。

有关更详细的教程,请参阅示例。

支持的方法

  • 反向倾向评分
  • 直接法
  • 双重稳健(

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

离线评估-0.0.6.tar.gz (4.7 kB 查看哈希

已上传 source