主要优化点:
-
设备品牌分桶:
-
将低频设备品牌归类为"Other"
-
解决长尾分布问题,减少噪声
-
-
重叠用户策略:
pythontest_df['is_new_did'] = test_df['did'].apply( lambda x: user_label_dict[x] if x in user_label_dict else test_df.loc[test_df['did'] == x, 'pred_model'].values[0] )
-
对于训练集中出现过的用户,直接使用已知标签
-
充分利用数据特点(测试集93%用户出现在训练集中)
-
-
模型参数优化:
-
减小
max_depth
(8)和num_leaves
(31)防止过拟合 -
降低
learning_rate
(0.05)提高稳定性 -
增加正则化项(
lambda_l1
,lambda_l2
) -
增加
num_boost_round
(2000)配合早停
-
-
阈值搜索优化:
pythonthresholds = np.arange(0.1, 0.5, 0.01) # 更精细的阈值搜索
-
以0.01为步长搜索最佳阈值
-
更精确地平衡精确率和召回率
-
分数结果:
