0
点赞
收藏
分享

微信扫一扫

因果推断,入门代码解读


from causalml.inference.meta import LRSRegressor
from causalml.dataset import synthetic_data

y, X, treatment, _, _, _ = synthetic_data(mode=1, n=1000, p=5, sigma=1.0)

# X是一个数组,X的每个元素是一个向量。
# X举例:用户特征

# treatment是一个数组,treatment的每个元素是0或1。
# treatment举例:对该用户是否发优惠券

# y是一个数组,y是训练目标,y的每个元素可能为0或1,也可为float。
# y举例:该用户是否下单/该用户下单量

lr = LRSRegressor()
treatment_effect, lower_bound, upper_bound = lr.estimate_ate(X, treatment, y)
print('Average Treatment Effect by Linear Regression S-learner: {:.2f} ({:.2f}, {:.2f})'.format(treatment_effect[0], lower_bound[0], upper_bound[0]))

# treatment_effect 是一个float值
# lower_bound 是 treatment_effect 的下置信范围
# upper_bound 是 treatment_effect 的上置信范围

code from https://github.com/uber/causalml


举报

相关推荐

0 条评论