任务介绍
1.任务:预测贷款用户是否会逾期
2.status是标签:0表示未逾期,1表示逾期
【任务四:模型评估】记录五个模型关于precision,rescore,f1,auc,roc的评分表格,画出auc和roc曲线图。
模型 | | | | | |
---|---|---|---|---|---|
逻辑回归 | 0.4500 | 0.0244 | 0.0463 | 0.5070 | 0.7400 |
SVM | 0.500 | 0.0081 | 0.0160 | 0.5026 | 0.7414 |
决策树 | 0.3056 | 0.3388 | 0.3213 | 0.5352 | 0.6300 |
XGBoost | 0.3707 | 0.5000 | 0.4258 | 0.5000 | 0.7414 |
lightgbm | 0.5981 |
这个任务持续做了两天也没有搞定,一开始还以为挺简单,没想到一直搞不出来。两个大的问题:
1.绘制ROC曲线的图一直为空白,这是5个模型都存在的问题。
2.lightgbm模型在评估上一直报错:ValueError: Classification metrics can't handle a mix of binary and continuous targets
模型的预测输出确实有问题,不是标签1 和0,而是概率,这个确实是问题,但查了好久也没解决。
3.XGBoost模型那是一直有个警告:UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples.
已解决的问题:
1.逻辑回归模型那里本来也是出现lightgbm同样的报错,经过查询发现是 预测那一步调用的函数有问题,应该调用predict就没问题了,我一开始是用predict_proba函数,这两者的区别为:
predict_proba返回的是一个n行k列的数组,第i行第j列上的数值是模型预测第i个预测样本的标签为j的概率。此时每一行的和应该等于1。
predict返回的是一个大小为n的一维数组,一维数组中的第i个值为模型预测第i个预测样本的标签;
总结:自己独立解决问题的能力还是不行,有个能讨论的团队还是好很多,这样的学习模式确实挺好,如果每次任务完成能给出正确代码就好了,问题也能对照解决。