Source code for libuplift.datasets.TelecomChurn

import numpy as np

from sklearn.datasets import fetch_openml

[docs] categ_values = { "FACTOR1": ["V1", "V2", "V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10", "V11", "V12", "V13", "V14", "V15", "V16", "V17", "V18"], "FACTOR2": ["V1", "V2", "V3", "V4", "V8", "V9", "V10", "V11", "V13", "V14", "V15", "V16"], "FACTOR3": ["V2"], "FACTOR4": ["V1", "V2", "V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10", "V11", "V12", "V13", "V14", "V15", "V16", "V17", "V18", "V19", "V20"], "FACTOR5": ["V1", "V2", "V3", "V4"], "FACTOR6": ["V1", "V2", "V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10", "V11", "V12", "V13", "V14", "V15", "V16", "V17", "V18", "V19", "V20"], "FACTOR7": ["V2", "V3", "V4"], "FACTOR8": ["V1", "V2"], "FACTOR9": ["V1", "V2", "V3", "V4"], "FACTOR10": ["V1", "V2", "V3", "V4"], "FACTOR11": ["V2", "V4", "V5"], "FACTOR12": ["V1", "V2", "V3"], "FACTOR13": ["V1", "V2", "V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10", "V11", "V12"], "FACTOR14": ["V1", "V2", "V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10", "V11", "V12", "V13", "V14", "V15", "V16", "V17", "V18", "V19", "V20"], "FACTOR15": ["V1", "V2", "V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10", "V11", "V12", "V13", "V14", "V15", "V16", "V17", "V18", "V19", "V20"], "FACTOR16": ["V1", "V2", "V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10", "V11", "V12", "V13", "V14", "V15", "V16", "V17"], "FACTOR17": ["V1", "V2", "V3", "V4", "V5", "V6"], "FACTOR18": ["V1", "V2", "V4", "V5", "V6", "V7", "V8"], }
[docs] def fetch_TelecomChurn(return_X_y=False, **args): D = fetch_openml("churn-uplift-mlg", parser="auto", **args) D.treatment = np.asarray(D.data.t, dtype=np.int32) D.data = D.data.drop(columns="t") D.feature_names.remove("t") D.treatment_values = ["0", "1"] D.n_trt = 1 D.target = D.target.values.astype(np.int32) D.target_names = ["target"] D.categ_values = categ_values if return_X_y: return D.data, D.target, D.trt return D