侧边栏壁纸
博主头像
Zeeland

The mixture of software dev+Iot+ml+anything

  • 累计撰写 60 篇文章
  • 累计创建 45 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

【Kaggle】如何快速上手少走弯路?

Zeeland
2022-11-16 / 0 评论 / 3 点赞 / 596 阅读 / 1,283 字

关于kaggle,之前也仅仅做浅浅的了解,在里面跑过MRI的程序,同时,我仍然希望可以在数模和算法方面有一个合适的机会进行进一步学习。之前只知道kaggle是ml打比赛的地方,但没有详细的了解过它,在知乎看过一些人的分享和看过一些competitions的code之后,我发现了几个现象:

  • kaggle其实包含了很多关于数模的算法,而研究生数模国赛也逐渐在往ml靠近的趋势,我觉得可以提前铺路。同时,我也希望kaggle可以促进我的项目侧重心转移过程。
  • 有一些没有ml和cs背景的人也可以取得不错的成绩,他们的方法一般是先选择一个top的kernel最为base model,然后参考其他的public model和discussion,对base model进行优化修改,从而达到更好的score。(对了,作者还提了一下xgboost)。 -参考零基础自学两月后三月三次轻松进入kaggle比赛top20小结 -知乎Kaggle新手七天拿铜牌经验 -知乎
  • 模型融合很重要!

附上一些个人认为有价值的评论:

1.我不做图像,文本涉及也少。如果只是为了解决工程问题,其实结构化数据的问题,劈开业务逻辑外,死扣概念是没有啥意义的。**分类聚类回归推荐本质上没有区别。聚类分类本质上就是利用距离做特征计算概率,概率的计算对于电脑而言又是一个回归的计算,推荐同理。忘记概念的条条框框,你的思路会活络很多。**这方面,思路越活越容易玩出骚路子。我和作者态度一样,咱们不指望成为业界泰斗,对理论功底的要求也就那么回事,能听懂别人说啥就行,什么手撕公式真没兴趣。数据分析的目标是解决问题,所有不能对你分析问题有直接增益的东西都是细枝末节
2.兄弟,你这法子还是麻烦了点,我只需要调public kernel的seed提交2次就拿铜牌。
3.不错,我也写了篇总结。最后三天有人发的2204的kernel就是直接blend几个相关性低的public kernel。还好这次没有强开源,不然又和talkingdata那样了😂
4.发现大部分还都是ml的工作,xgboost太强了。。 dl一般都不会公开这么高的baseline


1 理解Titanic中most vote kernel的code

看了kaggle上的Titanic的competition【link】,Titanic也被众多大神称作入门最适合参加的第一个competition,在以学习的态度看了most votes的code之后,我学到了很多东西。Author用notebook的方式阐述了思考的过程,如何进行原始数据的转换和分析,把一些字符串、不规则的数据类型转换为可供分析的定量数据;再数据转换完之后,author又展示了如何将数据集放入sklearn来调用

  • Logistic Regression
  • KNN or k-Nearest Neighbors
  • Support Vector Machines
  • Naive Bayes classifier
  • Decision Tree
  • Random Forrest
  • Perceptron
  • Artificial neural network
  • RVM or Relevance Vector Machine

这些模型,并使用svc.score(X_train, Y_train)对模型进行置信度评价。

sklearn对这些机器学习和预测的算法封装的特别好,感谢前人的探索和努力。

这张图让我对这些预测分析的算法有了一种更直观的了解。


2 深入理解快速拿牌的大佬思路

在浅浅的入手了几个kernel之后,我发现调参并不像想象中的容易,比如像num_boost_round,verbose_eval等hyper-parameter,可以说明的是,我不可能会一点一点理解每一个参数的含义,因为在这之前我甚至连这个算法framework都没有一个很清晰的概念,只知道他们的input和ouput,所以调整这些参数对我来说有一些难度。

深入分析Kaggle新手七天拿铜牌经验 -知乎中作者的思路,


3 一些可以研究的框架

4 参考阅读

3

评论区