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

关于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对这些机器学习和预测的算法封装的特别好,感谢前人的探索和努力。

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


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

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

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


3 一些可以研究的框架

4 参考阅读

### 回答1: 如果你想快速上手人工智能技术,建议你先从以下几个方面开始: 1. 了解基本概念:首先要搞清楚什么是人工智能,什么是机器学习,什么是深度学习等基本概念。 2. 选择合适的学习方式:可以通过课程、教程、视频、书籍等方式学习人工智能,选择自己喜欢的方式。 3. 安装必要的软件和工具:人工智能学习往往需要用到许多软件和工具,例如 Python、TensorFlow、Keras 等,需要在学习之前先安装这些工具。 4. 尝试实践:学完基本知识后,可以尝试着用自己学过的知识去实践一些简单的项目,这样可以加深对知识的理解,同时也可以对自己的水平有一个初步的判断。 5. 不断学习人工智能是一个非常庞大的领域,无论你是初学者还是有一定经验的人,都应该持续不断地学习,才能不断提升自己的能力。 ### 回答2: 想要快速上手人工智能技术,可以按照以下步骤进行: 1. 学习基础知识:人工智能技术涉及很多概念和算法,如机器学习、深度学习、神经网络等。可以通过参加在线课程或阅读相关书籍来建立起基本的理论知识。 2. 掌握编程语言:人工智能技术使用多种编程语言,如Python、R等。选择一门常用的编程语言,并通过编程练习来熟悉语法和基本操作。 3. 实践项目:通过完成实际项目来应用所学的知识。可以选择一些开源项目,参加在线竞赛或实习,这样可以逐渐提升自己的技术水平。 4. 学习工具和框架:人工智能领域有很多开源工具和框架,如TensorFlow、PyTorch等。熟悉并掌握这些工具和框架,可以提高开发效率。 5. 深入研究论文和最新技术:订阅人工智能领域的期刊、会议等,关注最新的研究成果和技术趋势。参与相关社群或论坛的讨论,与其他人交流和分享经验。 6. 参加培训或进修:有针对人工智能技术的培训课程或学习计划,如人工智能工程师证书等。可以选择适合自己需求和时间的培训方式,提升专业能力。 7. 不断实践和持续学习人工智能技术是一个不断发展和演进的领域,需要持续学习和实践。可以参与研究项目、开发应用、阅读文献等,以保持对最新技术的了解,并不断提升自己的技能。 总之,快速上手人工智能技术需要建立基础知识,掌握编程语言,通过实践项目来应用所学知识,学习使用工具和框架,深入研究最新技术,参加培训或进修,并不断实践和持续学习。通过这些步骤,可以更快速地掌握人工智能技术。 ### 回答3: 要快速上手人工智能技术,可以按照以下几个步骤进行: 第一步是了解基本概念。人工智能是一门涉及多个领域的综合性学科,包括机器学习、深度学习、自然语言处理等。可以通过阅读相关书籍、在线教程以及观看视频课程,了解人工智能的基本概念和原理。 第二步是学习编程和数学知识。人工智能技术的实现需要掌握编程语言和数学知识,特别是统计学和线性代数。可以选择学习一种常用的编程语言,如Python,以及学习数学基础知识。 第三步是实践项目。通过实践项目可以加深对人工智能技术的理解与应用。可以选择一些开源的人工智能项目或者参加在线的人工智能竞赛,如Kaggle,从中学习解决问题的方法和技巧,结合实际应用场景,提高技术水平。 第四步是与专业人士进行交流。人工智能领域发展迅速,与人工智能专业人士进行交流可以获取更多的学习资源和进一步指导。可以参加相关的行业或学术会议,加入人工智能的社群或论坛,与其他人工智能从业者交流心得和经验。 第五步是持续学习和更新知识。由于人工智能技术日新月异,要快速上手人工智能技术就需要不断学习和更新知识。可以定期关注最新的研究成果和技术进展,阅读相关的学术论文和技术博客,参加相关的线上或线下培训课程,保持对人工智能领域的敏感度和学习态度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zeeland

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值