天池新人实战赛之[离线赛]尝试(四)

之前的特征值有10几个,有点少了。增加特征值到40多个。特征选取参考https://blog.csdn.net/snoopy_yuan/article/details/75105724

使用pyspark.ml.classification import GBTClassifier 里的模型。

几个参数解释:

#maxIter 迭代次数
#maxDepth 树的最大深度
#stepSize 每次迭代优化步长(学习速率)
#seed 随机种子

在正反训练比例为1比1000左右做了几组测试。(验证集正反例比例为1:1)

GBTClassifier(maxIter=20,maxDepth=10,stepSize=0.4,seed=50  
Testing Accuracy is 48.83653286794648 %

Testing f1 is 48.92483484100073 %

GBTClassifier(maxIter=20,maxDepth=10,stepSize=0.2,seed=50

Testing Accuracy is 48.632926119837116 %
Testing f1 is 48.89735152944631 %

GBTClassifier(maxIter=20,maxDepth=10,stepSize=0.1,seed=50
无太大提升

可以看出调整参数无太大提升,考虑修改训练集的正反比例为1比30

Testing Accuracy is 52.065154159395 %
Testing f1 is 52.344773727470994 %

有一些提升

再选择 1比20 和1比100的比例进行对比

1比20:

Testing Accuracy is 50.78534031413613 %
Testing f1 is 50.98678995075511 %

1比100:

Testing Accuracy is 48.57475276323444 %

Testing f1 is 48.89881100109361 %

再做一个1比50:

Testing Accuracy is 50.08726003490401 %
Testing f1 is 50.42111031072746 %

对比下来, 训练数据就用1比30的正反比例比较不错。

按这个训练模型,进行预测,提交结果,准确率依旧不高。


2.参考该比赛决赛团队的方案,对用户组进行清洗,筛选 只看不买和对商品子集无购买的用户。

对反例数据集进行采样 ,控制训练数据的正反比例1比20~1比30之间。

验证数据集 只用正例数据:

maxIter=20,maxDepth=10,stepSize=0.1,seed=50,验证结果:



maxIter=30,maxDepth=10,stepSize=0.1,seed=123123

验证结果为:

Testing Accuracy is 23.943661971830984 %
Testing f1 is 38.63636363636363 %




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值