# 第三届梧桐杯_数据应用赛道方案 **Repository Path**: VIT19980106/Third-Sycamore-Cup_Data-Application-Track-Programme ## Basic Information - **Project Name**: 第三届梧桐杯_数据应用赛道方案 - **Description**: 数据应用赛道_全国第16名代码开源 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-02-21 - **Last Updated**: 2024-02-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 第三届梧桐杯_数据应用赛道方案 #### 介绍 数据应用赛道_全国第16名代码开源 #### 模型说明 lgb模型取得了全国16名的优异成绩 xgb为全国35名 #### 数据预处理说明 1. 对手机品牌特征的四列(当前终端品牌、上上次终端品牌、上次终端品牌、新5G终端品牌名称) 进行统一的数值化编码,与单列编码相比,多列统一编码有效提高多列手机品牌特征的关联性; 2. 进行缺失值处理,次数特征采用零值填充,终端品牌采用了近邻填充,终端价格采用了当前品牌价格均值填充 3. 对异常值进行处理,通过数据分布查看,性别字段共有4类,分别为0、1、-1、9,因此,-1、9可认为是异常值, 1的数量远小于0,所以将-1和0替换为1;最后,删除标签月,客户类型,用户标识字段 #### 算法模型说明 所提模型基于LightGBM,其在训练速度、准确性方面具有一定的优势,适用于大规模数据集和高维特征的机器学习问题, 为提升模型的泛化性,引入多折交叉训练,使用StratifiedKFold实现训练,同时增加模型扰动, 设置三个不同的random_state训练模型有效提高模型在测试集的泛化性。如图所示: ![输入图片说明](https://foruda.gitee.com/images/1708487439043150046/dceccacd_8437116.png "屏幕截图") 首先,所提模型在每个折内对测试集进行了预测,然后将每个5折的预测结果取平均值,然后将三个不同random_state训练的模型的预测结果求和;最后,选取每个预测结果最大值对应的索引,即为预测类别,将预测的数值化类别映射为品牌名称,得到最终的预测结果。本队设计的模型预测流程有效提高了模型的泛化性,在比赛中取得了较好的预测准确率。