我正在处理一个包含人员列表的数据集(按财政代码编制索引)。目标变量是二进制的(1:买一本书,0:否则)。 所有的预测因子都是绝对的(例如:国籍、城市、道路、收入的bin等)。 会计代码可以重复两次,每个实例/观察值都有一个权重(如果不重复,则为1,如果重复,则为0到1之间的值)。在
例如,数据集看起来像
财务代码|权重|目标|分类信息
AAAAA 1 | 0.98 | 0 |。。。。。。在
AAAAA 1 | 0.02 | 1 |。。。。。。。。在
我有两个数据集(具有相同的变量),一个用于训练(X_train=分类变量的矩阵,y_train是目标变量,train_weight是训练集中每个观察值的权重),另一个用于测试(具有相同的变量和含义:X_测试、y_测试和test_weight)。在
我尝试了一个Catboost模型-CatBoostClassifier。在
分类特征指数=np.哪里(X.d类型==np.类别)[0]
model=CatBoostClassifier(迭代次数=5000,学习率=0.1,深度=7,loss_function='Logloss',eval_metric='AUC')
在模型.拟合(列车
y_train,
eval_set=(X_test,y_test),
cat_features=categorical_features_indices,
use_best_model=True,
verbose=True,
sample_weight=train_weight)
问题是:如何考虑测试集中的观察值也有权重(TEST_weight)?你知道吗?在
我阅读了关于https://tech.yandex.com/catboost/doc/dg/concepts/python-reference_catboostregressor_fit-docpage/的文档,但是我没有发现任何有用的东西,而不是lightgbm文档(如果考虑另一个boosting模型的话)。在
我的理解是,在这种情况下,你需要使用一个游泳池,即
相关问题 更多 >
编程相关推荐