sklift.models.ClassTransformation
- class sklift.models.models.ClassTransformation(estimator)[source]
也称为类变量转换或还原标签方法。
重新定义目标变量,表示治疗对目标有影响或目标在没有治疗时是负面的:
Z = Y * W + (1 - Y)(1 - W),其中
Y- 目标向量,W- 二进制通信标志的向量。然后,
Uplift ~ 2 * (Z == 1) - 1仅返回提升预测。
了解更多,请参阅用户指南。
- Parameters
estimator (实现 'fit' 的估计器对象) – 用于拟合数据的对象。
示例:
# 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)
参考文献
Maciej Jaskowski 和 Szymon Jaroszewicz。临床试验数据的提升建模。 ICML 临床数据分析研讨会,2012年。
- fit(X, y, treatment, estimator_fit_params=None)[source]
根据给定的训练数据拟合模型。
- Parameters
X (数组形式, 形状 (n_samples, n_features)) – 训练向量,其中 n_samples 是样本数量,n_features 是特征数量。
y (数组形式, 形状 (n_samples,)) – 相对于X的目标向量。
treatment (array-like, shape (n_samples,)) – 相对于X的二元处理向量。
estimator_fit_params (dict, optional) – 传递给估计器fit方法的参数。
- Returns
self
- Return type
对象