Closed kevin-mercurio closed 1 year ago
The implementation of the final estimator is slightly off relative to the publication:
x_cate_train = (ps_predict(train,0)mx0.predict(train[X]) + ps_predict(train,1)mx1.predict(train[X]))
x_cate_test = test.assign(cate=(ps_predict(test,0)mx0.predict(test[X]) + ps_predict(test,1)mx1.predict(test[X])))
The propensity score should actually be swapped, such that your estimators are:
def ps_predict(df, t): return g.predict_proba(df[X])[:, t]
x_cate_train = (ps_predict(train,1)mx0.predict(train[X]) + ps_predict(train,0)mx1.predict(train[X]))
x_cate_test = test.assign(cate=(ps_predict(test,1)mx0.predict(test[X]) + ps_predict(test,0)mx1.predict(test[X])))
Solved in another issue
The implementation of the final estimator is slightly off relative to the publication:
x_cate_train = (ps_predict(train,0)mx0.predict(train[X]) + ps_predict(train,1)mx1.predict(train[X]))
x_cate_test = test.assign(cate=(ps_predict(test,0)mx0.predict(test[X]) + ps_predict(test,1)mx1.predict(test[X])))
The propensity score should actually be swapped, such that your estimators are:
def ps_predict(df, t): return g.predict_proba(df[X])[:, t]
x_cate_train = (ps_predict(train,1)mx0.predict(train[X]) + ps_predict(train,0)mx1.predict(train[X]))
x_cate_test = test.assign(cate=(ps_predict(test,1)mx0.predict(test[X]) + ps_predict(test,0)mx1.predict(test[X])))