sklift.models.SoloModel¶
-
class
sklift.models.models.
SoloModel
(estimator, method='dummy')[source]¶ aka Treatment Dummy approach, or Single model approach, or S-Learner.
Fit solo model on whole dataset with ‘treatment’ as an additional feature.
Each object from the test sample is scored twice: with the communication flag equal to 1 and equal to 0. Subtracting the probabilities for each observation, we get the uplift.
Return delta of predictions for each example.
Read more in the User Guide.
Parameters: - estimator (estimator object implementing 'fit') – The object to use to fit the data.
- method (string, ’dummy’ or ’treatment_interaction’, default='dummy') –
Specifies the approach:
'dummy'
:- Single model;
'treatment_interaction'
:- Single model including treatment interactions.
-
trmnt_preds_
¶ Estimator predictions on samples when treatment.
Type: array-like, shape (n_samples, )
-
ctrl_preds_
¶ Estimator predictions on samples when control.
Type: array-like, shape (n_samples, )
Example:
# import approach from sklift.models import SoloModel # import any estimator adheres to scikit-learn conventions from catboost import CatBoostClassifier sm = SoloModel(CatBoostClassifier(verbose=100, random_state=777)) # define approach sm = sm.fit(X_train, y_train, treat_train, estimator_fit_params={{'plot': True}) # fit the model uplift_sm = sm.predict(X_val) # predict uplift
References
Lo, Victor. (2002). The True Lift Model - A Novel Data Mining Approach to Response Modeling in Database Marketing. SIGKDD Explorations. 4. 78-86.
See also
Other approaches:
ClassTransformation
: Class Variable Transformation approach.TwoModels
: Double classifier approach.
Other:
plot_uplift_preds()
: Plot histograms of treatment, control and uplift predictions.
-
fit
(X, y, treatment, estimator_fit_params=None)[source]¶ Fit the model according to the given training data.
For each test example calculate predictions on new set twice: by the first and second models. After that calculate uplift as a delta between these predictions.
Return delta of predictions for each example.
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