sklift.models.ClassTransformation
- class sklift.models.models.ClassTransformation(estimator)[source]
aka Class Variable Transformation or Revert Label approach.
Redefine target variable, which indicates that treatment make some impact on target or did target is negative without treatment:
Z = Y * W + (1 - Y)(1 - W)
,where
Y
- target vector,W
- vector of binary communication flags.Then,
Uplift ~ 2 * (Z == 1) - 1
Returns only uplift predictions.
Read more in the User Guide.
- Parameters
estimator (estimator object implementing 'fit') – The object to use to fit the data.
Example:
# import approach from sklift.models import ClassTransformation # import any estimator adheres to scikit-learn conventions from catboost import CatBoostClassifier # define approach ct = ClassTransformation(CatBoostClassifier(verbose=100, random_state=777)) # fit the model ct = ct.fit(X_train, y_train, treat_train, estimator_fit_params={{'plot': True}) # predict uplift uplift_ct = ct.predict(X_val)
References
Maciej Jaskowski and Szymon Jaroszewicz. Uplift modeling for clinical trial data. ICML Workshop on Clinical Data Analysis, 2012.
See also
Other approaches:
ClassTransformationReg
: Transformed Outcome approach.SoloModel
: Single model approach.TwoModels
: Double classifier approach.
- fit(X, y, treatment, estimator_fit_params=None)[source]
Fit the model according to the given training data.
- Parameters
X (array-like, shape (n_samples, n_features)) – Training vector, where n_samples is the number of samples and n_features is the number of features.
y (array-like, shape (n_samples,)) – Target vector relative to X.
treatment (array-like, shape (n_samples,)) – Binary treatment vector relative to X.
estimator_fit_params (dict, optional) – Parameters to pass to the fit method of the estimator.
- Returns
self
- Return type
object