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

对象

predict(X)[source]

对X中的样本进行提升。

Parameters

X (数组形式, 形状 (n_samples, n_features)) – 训练向量,其中 n_samples 是样本数量,n_features 是特征数量。

Returns

提升

Return type

数组 (形状 (n_samples,))