机器学习之模型评估(还是没搞定...)

在尝试评估包括逻辑回归、lightgbm和XGBoost在内的五个模型时,遇到了绘制ROC曲线为空白、lightgbm分类错误以及XGBoost警告等问题。针对lightgbm的错误,发现模型输出是概率而非标签。逻辑回归问题通过调用predict而不是predict_proba解决。总结中表达了对团队合作和正确代码参考的需求。
摘要由CSDN通过智能技术生成
任务介绍
1.任务:预测贷款用户是否会逾期
2.status是标签:0表示未逾期,1表示逾期

【任务四:模型评估】记录五个模型关于precision,rescore,f1,auc,roc的评分表格,画出auc和roc曲线图。

模型
Precesion
Recall
F1-score
AUC
ACC
逻辑回归0.45000.02440.04630.50700.7400
SVM0.5000.00810.01600.50260.7414
决策树0.30560.33880.32130.53520.6300
XGBoost0.3707

0.5000

0.42580.50000.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个预测样本的标签;

总结:自己独立解决问题的能力还是不行,有个能讨论的团队还是好很多,这样的学习模式确实挺好,如果每次任务完成能给出正确代码就好了,问题也能对照解决。

 

 

 
 

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值