当前位置 : 主页 > 编程语言 > python >

因果推断,入门代码解读

来源:互联网 收集:自由互联 发布时间:2022-09-29
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的每个元素是一个向量


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


【文章原创作者:美国服务器 https://www.68idc.cn 欢迎留下您的宝贵建议】
网友评论