高品质的音视频能力是怎样的? | Qcon 全球软件开发大会·上海站邀请函 了解详情
写点什么

我参加了一次 Kaggle 竞赛,从此改变了我的数据科学学习之路

  • 2022-02-17
  • 本文字数:1468 字

    阅读完需:约 5 分钟

我参加了一次Kaggle竞赛,从此改变了我的数据科学学习之路

“不要把时间浪费在 Kaggle 竞赛上。在处理真正的业务问题时它一点用都没有。”在我刚开始数据科学生涯的时候有人曾经对我说过这样的话。


作为一名年轻而懵懂的数据科学家,有两年时间我都遵从这条建议,一直在回避 Kaggle 比赛。最近,我偶然看到了 Abhishek Thakur 在 LinkedIn 上发表的帖子,给“歌曲流行度预测”Kaggle竞赛做宣传。


看完帖子后我就有了参加他的比赛的冲动,我还想看看之前得到的那条建议是不是正确的。而这篇文章要说的就是我完成比赛后得到的五项关键收获。

社区论坛中无私的代码分享


一开始,我以为参加 Kaggle 竞赛主要是为了与大家竞争,比比谁的分数最高。结果让我没想到的是,震撼我的竟然是社区的慷慨无私氛围。甚至在比赛开始时,他们已经开始分享有用的 EDA 代码、特征工程技术等等资源了。我个人觉得这更像是大家在一起共事,而不是相互竞争。

丰富了我对其他类型 ML 问题的经验

我的工作经验主要集中在时间序列的预测和优化领域。而参加 Kaggle 竞赛实际上是一个很好的实践机会,让我体验到了不同类型的 ML 领域所面临的常见问题。例如,这个歌曲流行度预测(分类)问题让我能尝试一些重采样方法来解决不平衡数据问题,并学到了如何使用正确的指标来评估模型。

接触到创造性的特征工程和缺失归因技术


“到头来,有一些机器学习项目成功了,还有一些失败了。是什么造成了这种差异?最重要的因素是项目所使用的特征”。——华盛顿大学的 Pedro Domingos 教授


由于市面上有许多模型可供选择,许多人将注意力转移到了模型/算法开发上,忽视了数据质量或特征工程技术。我个人认为我们更应该关注数据质量和高级特征工程技术,同时用一些简单的模型就够了。


在论坛上,大家分享了数不清的特征工程和缺失数据归纳技术相关资料。说实话,我收藏的那么多技术资料自己也没能全都尝试过。以下是我觉得很有趣的技术:


  • 聚类模型(如 KMeans),用于生成新的特征。

  • PCA,一种降低维度的方法,用于减少特征的维度。

  • 应用对数、箱形图、幂数转换来缩放数据。

  • 对缺失数据进行 LGBM 计算。

  • 基于领域知识,对 2-3 个变量进行特征交互。

  • 多项式特征转换

学会如何编写高效的数据分析和绘图代码


由于我最近刚从 R 语言过渡到Python,所以对 ggplot 的代码结构比 matplotlib/seaborn 更熟悉一些。很多时候,我要么会遇到很多代码错误,要么最后得到的是没那么漂亮的图。所以我非常喜欢这个代码分享论坛,他们不只会分享构建模型的代码,还分享了许多内容翔实的 EDA 笔记本,其中有他们自己的发现。下面是我个人在这次竞赛中最喜欢的两篇文章。


  • 使用交互式绘图的简单 EDA(文章链接:https://www.kaggle.com/dextermojo/song-popularity-eda-heads-or-tails-python-ver)

  • 详细的数据分析报告 (文章链接:https://www.kaggle.com/headsortails/song-popularity-eda-live-coding-fun)

学习如何使用 optuna 包来做模型调优


翻阅别人分享的笔记本时,我发现有几个笔记本有一个有趣的术语——Optuna。它引起了我的好奇心,于是我决定找一个笔记本看个究竟。结果就是这个包!我肯定会在自己的下一个 ML 问题解决方案中使用它。


如果你和我一样没有听说过它,可以访问该链接(https://optuna.org/)来了解更多内容。大体来说,它是一个开源的超参数优化框架,用于自动化超参数搜索。

后记


毫无疑问,Kaggle是一个很好的平台,适合初学者或中级数据科学家练习他们的代码技能。


对于高级用户来说,我发现参加那些高水平的比赛(如 M5 预测比赛)会给参赛者带来富有挑战性同时又颇具价值的经验。


原文链接:


https://medium.com/@benlc77/how-my-first-kaggle-competition-changed-my-data-science-learning-experience-58f39f293cf5

2022-02-17 10:431832
用户头像

发布了 453 篇内容, 共 142.8 次阅读, 收获喜欢 593 次。

关注

评论

发布
暂无评论
发现更多内容

第三周作业

hunk

极客大学架构师训练营

二期第三周作业

supersky6

第三周课后练习

刘洋

极客大学架构师训练营

第三周-作业二

Mr_No爱学习

week3- 请在草稿纸上手写一个单例模式的实现代码,拍照提交作业

未来已来

第三周作业

jingx

策略模式

猴子胖胖

设计模式 Go 语言

架构师训练营第 1 期 - 第 7 周 - 命题作业

wgl

Week_07 作业

golangboy

极客大学架构师训练营

架构师训练营第一期 - 第七周课后作业

卖猪肉的大叔

极客大学架构师训练营

架构师训练营第 1 期第 7 周作业

好吃不贵

极客大学架构师训练营

设计模式 - 学习总结笔记

Xuenqlve

架构师训练营第七周作业

吴传禹

极客大学架构师训练营

第3周作业

Steven

极客大学架构师训练营

架构师训练营第 1 期 - 第 7周 - 学习总结

wgl

架构师训练营第 1 期 -- 第七周作业

发酵的死神

极客大学架构师训练营

架构师训练营第 1 期第 7 周学习总结

好吃不贵

极客大学架构师训练营

架构师训练营 2 期 Week03 总结

架构师训练

架构师训练营第七周课后练习

薛凯

第三周 命题作业

willson

计算机的时钟(四):TrueTime

ElvinYang

架构师训练营第七周作业

Shunyi

极客大学架构师训练营

模板方法模式

猴子胖胖

设计模式 Go 语言

第三周-作业一

ray-arch

极客大学架构师训练营

架构师训练营第七周学习总结

吴传禹

极客大学架构师训练营

架构师训练营第2期-第3周作业1

xiaomao

第三周作业总结

hunk

极客大学架构师训练营

第7周作业

wanlinwang

极客大学架构师训练营

第三周 总结

willson

极客大学架构师训练营

周练习 7

何毅曦

第三周-作业1

Mr_No爱学习

我参加了一次Kaggle竞赛,从此改变了我的数据科学学习之路_AI_Beng Chew_InfoQ精选文章