IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 02标准建模流程:模型构建 -> 正文阅读

[Python知识库]02标准建模流程:模型构建

To DN

1.模型构建

1.1 算法选择

常用分类算法:逻辑回归、xgboost和lightgbm

1.2 损失函数选择

对于回归问题常选择MSE和MAE,本节重点讲解分类问题的损失函数
● 二分类问题
log损失函数(log-loss)结果能非常好地表征概率分布。因此在很多场景,尤其是多分类场景下,如果我们需要知道结果属于每个类别的置信度,那这个损失函数很适合。缺点是它的健壮性没有那么强。在lightgbm中可以令objective=binary,调用二分类的log-loss
● 多分类问题
在lightgbm中可以令objective=softmax即可
● 交叉墒 cross-entropy
二分类和多分类问题均可使用,在lightgbm中可以令objective=cross_entropy即可
注:对数损失函数和交叉熵损失函数应该是等价的,因此在实际项目中选其一即可,证明见:https://zhuanlan.zhihu.com/p/58883095

1.3 调参思路

调参可用随机网格搜索
● xgboost调参:
○ 保持learning rate和其他booster相关的参数不变,调节和estimators的参数。learing_rate可设为0.1, max_depth设为4-6之间,min_child_weight设为1,subsample和colsample_bytree设为0.8 ,其他的参数都设为默认值即可。
○ 调节max_depth 和 min_child_weight参数,首先,我们先大范围地粗调参数,然后再小范围地微调。
○ gamma参数调优
○ subsample和colsample_bytree 调优
○ 正则化参数调优,选择L1正则化或者L2正则化
● lightgbm调参:
○ 参考资料:https://blog.csdn.net/u012735708/article/details/83749703
○ 具体代码见:https://creditx.yuque.com/it4hgz/bb8t41/grzacv的《机器学习》章节

2 模型评价

一般根据不同的业务场景,会选择不同的评价指标,常见的评价指标如下:

2.1 KS值

KS值越大,表示模型能够将正、负样本区分开的程度越大。通常来讲,KS>0.2即表示模型有较好的预测准确性。

2.2 ROC曲线和AUC

我们建立ROC曲线的根本目的是找寻Recall和FPR之间的平衡,让我们能够衡量模型在尽量捕捉少数类的时候,误伤多数类的情况会如何变化。曲线越靠近左上角越好,越往下越糟糕,曲线如果在虚线的下方,则证明模型完全没法使用。如果曲线越靠近右下角说明模型的预测结果与真实情况完全相反,此时只要手动将预测结果逆转即可,最糟糕的情况是,曲线位于图像中间,和虚线非常靠近,此时我们就拿它没啥办法。
AUC量化了ROC曲线下方的面积,这个面积越大,代表ROC曲线越靠近左上角,模型越好,即AUC越接近于1,模型效果越好。

2.3 F1-score

同时兼顾精确度和召回率,因此我们追求尽量高的 F1 measure,能够保证我们的精确度和召回率都比较高,即不在区分负样本的同时又不误伤正样本,F1-score越接近1,模型效果越好。

3 常见问题

3.1 标签泄漏

不要把标签当作特征输入模型,例如要预测用户最近三天内的消费额,不要把这三天的消费额放入x中。

3.2 模型训练效果很差

通常是模型特征没做好,没有挖掘出更有价值的特征,也不排除数据质量很差的可能性。所以这个时候应该从数据和特征两方面入手,首先重新做特征工程,然后尝试扩充数据集。

3.3 训练集效果好,跨时间测试效果不好

如果测试集和跨时间测试效果都不好,说明这是一个过拟合问题,可以尝试减少模型复杂度,如减少特征维度或者减少数模型的深度等

3.4 训练集和跨时间测试效果都很好,上线后效果不好

这种情况仍不排除过拟合的嫌疑,可以再取出一部分更‘新’的数据集来训练。还有一种可能是线上模型的特征做错了,和线下的特征逻辑不一致。

3.5 上线后效果好,几周之后模型效果逐渐降低

可以认定为特征稳定性问题,解决方案聚焦在特征的跨时间稳定性上。

3.6 没有明显问题,但模型效果逐月降低

目前比较常规的解决方法是通过频繁迭代来更新模型,只要一直使用比较新的样本,就可以保证在未来的几个月模型效果让人满意。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:14:27  更:2022-05-05 11:14:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:42:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码