Reflective Uplift Transformation

The Reflective Uplift Transformation Approach.

Based on

Kuchumov, A. pyuplift: Lightweight uplift modeling framework for Python. (2019). URL: https://github.com/duketemon/pyuplift. License: https://github.com/duketemon/pyuplift/blob/master/LICENSE.

Shaar, A., Abdessalem, T., and Segard, O. (2016). “Pessimistic Uplift Modeling”. ACM SIGKDD, August 2016, San Francisco, California USA, arXiv:1603.09738v1. URL:https://pdfs.semanticscholar.org/a67e/401715014c7a9d6a6679df70175be01daf7c.pdf.

Contents
ReflectiveUplift Class

fit, predict (not available at this time), predict_proba, _reflective_transformation, _reflective_weights

class causeinfer.standard_algorithms.reflective.ReflectiveUplift(model=None)[source]
fit(X, y, w)[source]

Trains a model given covariates, responses and assignments.

Parameters:
Xnumpy.ndarray(num_units, num_features)int, float

Matrix of covariates.

ynumpy.ndarray(num_units,)int, float

Vector of unit responses.

wnumpy.ndarray(num_units,)int, float

Vector of original treatment allocations across units.

Returns:
selfcauseinfer.standard_algorithms.ReflectiveUplift

A trained model.

predict_proba(X)[source]

Predicts the probability that a subject will be a given class given covariates.

Parameters:
Xnumpy.ndarray(num_units, num_features)int, float

New data on which to make predictions.

Returns:
probasnumpy.ndarray(num_units, 2)float

Predicted probabilities for being a favorable class and an unfavorable class.

_reflective_transformation(y, w)[source]

Assigns known quaternary (TP, CP, CN, TN) classes to units.

Parameters:
ynumpy.ndarray(num_units,)int, float

Vector of unit responses.

wnumpy.ndarray(num_units,)int, float

Vector of original treatment allocations across units.

Returns:
np.array(y_transformed)np.array

an array of transformed unit classes.

_reflective_weights(y, w)[source]

Derives weights to normalize binary transformation noise.

Parameters:
ynumpy.ndarray(num_units,)int, float

Vector of unit responses.

wnumpy.ndarray(num_units,)int, float

Vector of original treatment allocations across units.

Returns:
p_tp_fav, p_cp_fav, p_cn_unfav, p_tn_unfavnp.array

Probabilities of being a quaternary class per binary class.