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.