编程语言应用

首页 » 常识 » 常识 » Kaggle入门五大步,跟着做就对了
TUhjnbcbe - 2023/3/10 19:20:00

Kaggle是一个流行的数据科学竞赛平台,这个平台非常庞大,如果你是一个初学者,很可能会不知所措,不知道如何开始成为一个优秀的数据科学家的旅程。都会犹豫不决,这并不奇怪。很多人都会有相似的担心,比如:

我应该如何开始?

我的对手是经验丰富的博士生研究人员吗?

如果我没有实际的胜算,值得参加比赛吗?

这就是数据科学的意义所在吗?(如果我在Kaggle上做得不好,我在数据科学领域有前途吗?)

我怎样才能在未来提高我的排名?

如果你曾有过这些问题,这篇文章中,我将详细介绍关于入门、提高技能和享受在Kaggle上的时间的所有知识。

Kaggle竞赛

在开始前,需要先了解Kaggle竞赛整体的设置。Kaggle作为一个为开发商和数据科学家提供举办机器学习竞赛、托管数据库、编写和分享代码的平台,从本质上讲,它的比赛必须满足几个标准。

所参与项目必须是困难的。为了获得最好的投资回报,主办公司会提交他们最大的、最明显的问题。而你所给出的解决方案必须是新的。为了赢得最新的比赛,你通常需要进行扩展研究,定制算法,训练高级模型等。而且性能必须是相对的。比赛必须产生一个赢家,所以你的解决方案将与其他人的解决方案进行评分。

Kaggle值得吗?

尽管Kaggle和典型的数据科学有区别,但对于初学者来说,Kaggle仍然可以是一个很好的学习工具。

每个比赛都是自成一体的。你不需要为自己的项目划定范围和收集数据,这让你可以专注于其他技能。练习就是练习。学习数据科学的最好方法是在实践中学习。只要你不为赢得每场比赛而紧张,你仍然可以练习有趣的问题。

讨论和优胜者访谈是有启发性的。每场比赛都有自己的讨论板和与获胜者的汇报。你可以窥探到更有经验的数据科学家的思维过程。

如何在Kaggle上起步

在了解了比赛设置之后,接下来,就是分步骤地行动计划,在Kaggle上慢慢地提升和竞争。

第一步:选择一种编程语言。

首先,我建议大家选择一种编程语言并坚持下去。Python和R在Kaggle和更广泛的数据科学社区中都很受欢迎。

如果是从一张白纸开始的初学者,我比较推荐Python,因为它是一种通用的编程语言,你可以从头到尾使用。

第二步:学习探索数据的基础知识。

加载、浏览和绘制数据的能力(即探索性分析)是数据科学的第一步,因为它为你在整个模型训练中做出的各种决定提供了参考。

如果你走Python路线,那么我推荐Seaborn库,它是专门为此目的而设计的。它拥有绘制许多最常见和最有用的图表的高级函数。

第三步:训练你的第一个机器学习模型。

在进入Kaggle之前,我们建议在一个更简单、更容易管理的数据集上训练一个模型。这将使你熟悉机器学习库和土地的布局。关键是要开始养成良好的习惯,比如将你的数据集分成独立的训练集和测试集,交叉验证以避免过度拟合,并使用适当的性能度量。

在这里我推荐大家使用贪心科技AI的课程。

这套课程的核心内容均围绕机器学习,并通过案例的实战来加深对技术的理解。其课程的内容旨在介绍AI及相关基础理论,我个人使用后最直观的感受就是这些课件里面的案例研究准备得非常好,它们对于课后我们如何处理任何机器学习任务有指导性的作用。而课下的练习,以测试学生为目的,涵盖了目前为止可能已经涵盖的概念知识。它混合了计算机科学、控制论、哲学、经济学、生物学和混沌理论或模糊逻辑。而它的内容设置几乎涵盖了kaggle需要的所有技能。

内容

它涵盖线性和逻辑回归、矢量化、正则化、神经网络、前馈和反向传播(这是非常好的)、成本函数、网络初始化、SVM、降维、监督/非监督学习、主成分分析(PCA)、K-Means聚类、异常检测、推荐系统以及更多。除此之外,这套课程还有很多关于应用机器学习的建议,如诊断偏差与方差误差,实施训练-验证-测试集,如何衡量模型性能(准确度、精确度、召回率和F1分数),哪些算法在大量/缺乏数据的情况下更有效,以及如何调整上述算法以更好地适应我们的需求或情况。

这套机器学习工作流程是开展一个个机器学习项目。尽管单个项目可能有所不同,但大多数工作流程都有几个共同的任务:问题评估、数据探索、数据预处理、模型训练/测试/部署等。通过这样的学习,逐渐就能发现这些核心步骤的有用的视觉化。

课程设置

这套课程视频教学简单易懂,也由于是线上上课,购买之后随时可以使用,还是比较适合时间不好分配的上班族或者像我这样的学生进行使用。每节课程中还会配有一定的题目,帮助大家巩固知识点概念。我自己在做这些题目的时候,感受很好的是,这些题目的设定与每小节的课程内容结合的很好,能做到即时的巩固,也能为后面的学习做铺垫。

师资力量

虽然是近几年刚创建的团队,但其教研人员都是有着丰富的业内经历和教学经验。课程的核心团队由海内外AI专家组建而成,多位合伙人及主讲老师都是业内资深工程师。我在上这节课的时候的导师就是亚马逊的工程师,李文哲老师。他对于每一个问题的讲解都十分细致,尤其是遇到运算问题,都会一步步手写出具体公式。除此之外,他还经常会举一反三,举出同样类型的例子,加深我们的记忆。李老师是一位充满活力而又温和的讲师,他的经验可圈可点。他给人以信心,特别是在分享实用的实施技巧和对常见陷阱的警告时。

贪心科技AI这套课程,我体验下来感觉很好的一点就是,课前课后都有老师和助教引导,老师的态度都很积极,助教对教学也都十分认真负责,每次我提出的问题都会及时解答,就算现在已经结课了,我们也会经常沟通一下最近遇到的问题。

编程

除了前面讲到的理论知识之外,贪心科技AI课程对于编程也有涵盖。像我之前提到的Python在这节课程中就是作为重点来讲解的。

贪心科技这套课程就为无编程经验者提供了Python基础的内容,作为一个没有什么编程基础的统计学生,这也节省了不少我课下补习代码的时间,大大提高了我的学习效率。除了理论性的内容之外,这套课程还提供了多个机器学习领域代表性案例,如广告点击率预测、情感分析项目、信用卡欺诈预测、零售场景用户分层、意图识别等,供学生参考练习。如果有兴趣的还可以继续学习高阶课程。这套课程会围绕各种实例,进行高阶内容的学习与练习。关于这部分的练习,建议大家搭配jupyter,这也是我自己学习时使用的一个网站。Jupyter是一个免费的、开源的、互动的网络工具,被称为计算笔记本,研究人员可以用它将软件代码、计算输出、解释性文本和多媒体资源结合在一个文件中。每上完一节课程时,我就会去上面下载一些文件进行练习。

而这些项目对于参与Kaggle竞赛,可以说是提供了无数的练习机会。

第四步:解决"入门"比赛。

在有了一定知识基础后,我们就准备尝试Kaggle竞赛了。Kaggle上的竞赛根据其奖励分为不同类型。知识、工作、金钱。知识竞赛是为那些想要入门的初学者准备的。这些比赛很适合初学者,因为你可以找到很多解释如何获得好成绩的文章和样本解决方案。这些竞赛分为几个类别。最常见的是:

特色比赛-这些比赛通常由公司、组织甚至*府赞助。它们有最大的奖金池。

研究类-这些比赛以研究为导向,几乎没有奖金。它们也有非传统的提交程序。

招聘--这些是由想要雇佣数据科学家的公司赞助的。这些仍然是相对不常见的。

入门-这些比赛的结构类似于特色比赛,但它们没有奖金池。它们的特点是更容易的数据集,大量的教程,以及滚动的提交窗口,因此你可以在任何时候参加它们。“入门”比赛对初学者来说是很好的,因为它们给你一个低风险的学习环境,而且它们还得到许多社区创建的教程的支持。

第五步:竞争

有了一定基础后,是时候进入"特色"竞赛了。一般来说,这需要更多的时间和努力才能获得好的排名。出于这个原因,我建议明智地选择你的比赛项目。参加那些能让你接触到符合你长期目标的技术和工艺的比赛。在这里我想要提醒大家的事,参与比赛是为了最大限度地提高学习效果,而不是收入。虽然奖金是好的,但更有价值(和可靠)的奖励是你为你的职业生涯发展的技能。

在参与比赛前后,你可以查阅任何与你要解决的问题类似的过去的比赛。Kaggle通常会在他们的博客(NoFreeHunch)上发布对过去比赛获胜者的采访。看看你是否可以将类似的方法应用于你的问题。另外,获奖者也经常在github上发布他们的解决方案代码,作为开放源码项目。密切

1
查看完整版本: Kaggle入门五大步,跟着做就对了