零散知识点总结

52 篇文章 6 订阅
10 篇文章 0 订阅

最近实习做项目的时候遇到了一些很多细碎的知识点,总结一下。

1 调参方法

之前面试也被问过:你知道的调参方法有哪些啊?

总的来说,调参方式有下面三种:

  • 网格搜索。对应sklearn中的GridSearchCV
  • 随机搜索。对应sklearn中的RandomizedSearchCV
  • 贝叶斯调参。见上面两个链接。

参考资料:

2 样本不平衡问题的处理方式

2.1 场景

最近刚好做的项目是一个二分类问题,全量数据中正负样本比超过了5:1,一般认为超过4:1则是样本不平衡,因此需要进行处理。

2.2 对训练集还是测试集用?还是全量用?

仅针对训练集进行样本不平衡问题的处理,测试集不用动,使用平衡后的训练集来训练模型,然后喂给测试集即可。

2.3 处理方法有哪些?

根据周志华老师的西瓜书上描述,大概有两种方法:

  • 过采样。增加少类样本。典型算法是SMOTE算法
  • 欠采样。减小多类样本。典型算法是EasyEnsemble算法。

详细的介绍参考以下博文:

3 SQL的相关问题

3.1 缺失值的处理

今天做特征工程用SQL提数的时候,需要计算一个指标,最大值/平均值,这时候遇到了一个问题,如果平均值为0的时候,返回结果就是NaN,当然,后续我们在Python本地去做完全没有问题,自己之前有个博客就总结过缺失值的处理方式:Python处理缺失数据

但如果用SQL怎么处理呢?有如下几个函数可以处理:即如果为缺失值 可以赋一个值。

  • ISNULL()
  • NVL()
  • COALESCE()
  • IFNULL()

具体用法见下面SQL:

COALESCE(max(session_count)/avg(session_count),0) h_m_w2_session_count

在这里插入图片描述
参考资料见:

3.2 遇到的坑

  • 后面的表如果字段要用到,记得在最前面的时候写上,全部用就是 .*
  • 多层left join的时候,要选择合适的主表
  • 确认数据的对应性

4 Python

4.1 一个贼牛逼的三方库

今天刚用的,很好用,pandas_profiling!生成动态交互的数据探索报告

参考:其实也就是一两行代码
https://mp.weixin.qq.com/s/gJC3DDXOnwCAZHcLp2oYFQ

4.2 小技巧

数据预处理清洗完毕后,使用一个函数封装一下,能节省不少时间。

5 机器学习

5.1 模型融合方法

多模型做完之后,希望能融合多模型结果。大概有三种方法:

  • 分类问题:Voting
  • 回归问题:Averaging
  • Stacking方法。

前两种都比较好理解,就是最后一种Stacking 没怎么看懂!
参考资料:

5.2 评价指标

分类问题的模型做完之后,需要进行评价,而且不同的业务问题对应的评价方式应该是不一样的,因为侧重点不同,所以需要从多种评价指标中选择你所需要的。

参考资料:

暂时这么多,后面继续补充扩展!加油!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值