Skip to content

2021CCF计算智能与大数据竞赛 - 泛在感知关联数据融合

Notifications You must be signed in to change notification settings

MikaOvO/2021CCF_BDCI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

2021 CCF BDCI 计算智能与大数据竞赛 泛在感知数据关联融合计算

A榜第一,B榜第二

队名:xcpc狗都不打

一、整体思路

​ 由于赛题中人员编码的数量小于硬件特征码的数量,并且直接进行笛卡尔积后的集合过大,所以我们队首先对每个人员编码找出候选的200个合适的硬件特征码,从而达到粗排的效果并提高效率。接下来对每一对候选的(人员,硬件)构造合适的特征。最后对这p_number*200条数据构建二分类问题(在训练集如果匹配则label为1,反之为0),其中p_number为数据集中不同的人员编号个数,最后跑lightgbm,catboost等多种模型,通过合理的调参方法得到良好的模型,并对测试集的每一对候选集进行概率预测,取最高匹配概率对应的特征作为预测结果。

二、粗排

​ 在A榜阶段,我们队在数据集中发现了在匹配时硬件特征码发现时间普遍会比人像特征发现时间早一点。于是我们在考虑任意一个人员p_id时,枚举这个人像特征的每一条数据(发现时间time,点位编号d_id),并通过二分算法得到d_id对应的小于time的每个c_id的最大时间数据并倒序枚举(为了提高效率),如果该时间和time相差在80秒以内(不满足就可以终止倒序枚举了),那么在p_id,c_id对应的权值数组中增加一次匹配成功次数,并在最后统计该时间和time相差绝对值在这几次匹配成功中的均值,作为三元组(匹配成功次数,均值,c_id)放入列表中进行排序(第一维降序,第二维升序),取前200个时可以获得较好的召回效果(99%以上),并将该p_id和这两百条硬件id构成200个候选的集合放入总集合中。

三、特征构造

​ 为了进行二分类的求解,我们对每一条候选集中的(p_id,c_id)构造了以下特征:

​ 其中d_number代表点位总数量

序号 特征名 含义
1 pp_number 对于p_id的每一条数据出现时间time,c_id的数据中存在出现时间小于time则+1,最后除以pid_number
2 average_det_time 对于p_id的每一条数据出现时间time,c_id的数据中出现时间小于time的最大出现时间的均值
3 best_pp_number 分不同点位求解pp_number,累和pp_number最大的前d_number-1个pp_number
4 best_average_det_time 分不同点位求解average_det_time,累和pp_number最大的前d_number-1个average_det_time
5 cid_number c_id对应的数据条数
6 unique_pp_number 对于连续时间位于同一点位只考虑第一条情况下的pp_number
7 unique_average_time 对于连续时间位于同一点位只考虑第一条情况下的average_det_time
8 unique_lcs 对于连续时间位于同一点位只考虑第一条情况下的点位序列的最长公共子序列
9 pid_number p_id对应的数据条数
10 p_number 对于p_id的每一条数据出现时间time,c_id的数据中存在出现时间小于time则+1
11 p_speed p连续的观测数据,点位发生改变的距离除以时间参数的列表取中位数
12 c_speed c连续的观测数据,点位发生改变的距离除以时间参数的列表取中位数
13 dis_speed abs(p_speed-c_speed)
14 p_speed_min p连续的观测数据,点位发生改变的距离除以时间参数的列表取最小值
15 c_speed_min c连续的观测数据,点位发生改变的距离除以时间参数的列表取最小值
16 dis_speed_min abs(p_speed_min-c_speed_min)
17 Min_time p_id和c_id最靠近的时间差
18 unique_Min_time 对于连续时间位于同一点位只考虑第一条情况下的p_id和c_id最靠近的时间差
19 c_speed_change c点位变化数量
20 p_speed_change p点位变化数量
21 dis_change abs(c_speed_change-p_speed_change)
22 p_speed_mean p连续的观测数据,点位发生改变的距离除以时间参数的列表取平均值
23 c_speed_mean c连续的观测数据,点位发生改变的距离除以时间参数的列表取平均值
24 dis_speed_mean abs(c_speed_mean-p_speed_mean)
25 change_div_p dis_change/p_speed_change
26 dis_speed_div_p dis_speed/p_speed

四、模型

​ 选择lightgbm、catboost、岭回归、随机森林等多种可用于二分类的机器学习模型用于比较和本地交叉检验。最终为了平衡效率和准确率只采用了lightgbm进行训练和预测。

​ 在交叉检验时拿出80%的p_id对应的数据进行训练,并对剩下的进行预测,预测时取最高概率对应的c_id。

五、实验结果

序号 模型 数据集 准确率 训练耗时
1 lightgbm、catboost等模型融合 本地交叉检验 0.927 424s
2 lightgbm、catboost等模型融合 A榜 0.92
3 lightgbm 本地交叉检验 0.925 29s
4 lightgbm A榜 0.915
5 lightgbm B榜 0.845

六、总结与展望

​ 根据B榜情况可以看出C地和AB地分布有一定的不一致性,可以通过对抗检验检查出该问题,并选取训练集中合理的数据进行训练。如果时间充裕且有条件的情况下,应该可以在B榜提高到更高的分数。

About

2021CCF计算智能与大数据竞赛 - 泛在感知关联数据融合

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published