gpt4 book ai didi

python - catboost:带有观察权重的评估/测试集

转载 作者:太空宇宙 更新时间:2023-11-03 21:22:39 24 4
gpt4 key购买 nike

我正在处理一个包含人员列表(按财政代码索引)的数据集。目标变量是二进制的(1:买一本书,0:否则)。所有预测变量都是分类的(例如:国籍、城市、道路、收入类别等)。财政代码可以重复两次,每个实例/观察都有一个权重(如果不重复则为 1,如果重复则为 0 到 1 之间的值)。

例如,数据集看起来像

财政代码 |重量 |目标|分类信息

AAAAA1 | 0.98 | 0.98 0 |......

AAAAA1 | 0.02 | 0.02 1 |........

我有两个数据集(具有相同的变量),一个用于训练(X_train =分类变量矩阵,y_train是目标变量,train_weight是训练集中每个观察值的权重)和一个用于测试(具有相同的变量和含义:X_test、y_test 和 test_weight)。

我尝试了 Catboost 模型 - CatBoostClassifier。

初始化助推器和超参数

categorical_features_indices = np.where(X.dtypes == np.category)[0]

模型 = CatBoostClassifier(迭代=5000,learning_rate=0.1,深度=7,loss_function='Logloss',eval_metric='AUC')

适配模型

模型.fit(X_train,

        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 文档(如果考虑另一个提升模型)。

最佳答案

我的理解是,这是您需要使用池的情况,即

model.fit(Pool(X_train,y_train,weight=train_weight)
eval_set=Pool(X_test,y_test,weight=test_weight),
cat_features=categorical_features_indices,
use_best_model=True,
verbose=True)

关于python - catboost:带有观察权重的评估/测试集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54118318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com