解决Xgboost预测结果不一致问题

导言

在某次工作项目中需要使用libsvm格式的数据训练xgboost模型,得到模型之后再验证模型打分的时候使用csv格式数据,发现用csv文件的预测值和libsvm格式数据的预测值对不上,经过一系列尝试最终解决了这个问题。
导致问题的原因:Dmatrix对不同存储方式的数据的处理方式不一致。
接下来是问题复现和问题解决的过程:

生成模拟libsvm格式数据

1.首先是准备复现问题的数据

## xgboost == 2.0.0
feature_list = [1,4,5,6,7]   ##特征编号
import random
def gen_data(file_path,cnt):
    with open(file_path,"w") as f:
        for i in range(cnt):
            ##label 0,1,2
            f.write(str(random.randint(0,2)) + " ")
            ##写特征
            for j in range(len(feature_list)):
                if j == len(feature_list) - 1:
                    f.write
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值