Kaggle入门文档

Competitions Documentation | Kaggle

Kaggle入门文档

特色比赛

特色比赛是 Kaggle 最出名的比赛类型。这些是全面的机器学习挑战,带来了困难的,通常用于商业目的的预测问题。例如,过去的特色比赛包括:

好事达理赔预测挑战 - 使用客户的购物历史来预测他们购买的保险单

拼图有毒评论分类挑战 - 预测维基百科上有毒评论的存在和类型

Zillow Prize - 构建一种可以挑战Zestimates的机器学习算法,Zillow房地产价格估算算法

特色比赛吸引了一些最强大的专家,并提供高达一百万美元的奖池。但是,任何人都可以访问它们。无论您是该领域的专家还是完全的新手,特色比赛都是向该领域最优秀的人学习技能和技术的宝贵机会。

研究竞赛

研究竞赛是Kaggle上另一种常见的竞赛类型。研究竞赛的特点问题比特色竞赛问题更具实验性。例如,过去的一些研究竞赛包括:

  • 谷歌地标检索挑战 - 给定一张图片,你能在数据集中找到所有相同的地标吗?

  • 露脊鲸识别 - 在航拍照片中识别濒临灭绝的露脊鲸

  • 大规模分层文本分类 - 将维基百科文档分类为 ~300,000 个类别之一

由于其实验性质,研究竞赛通常不提供奖品或积分。但它们提供了一个机会来解决那些可能没有干净或简单的解决方案的问题,这些问题在竞争稍弱的环境中是特定领域或领域不可或缺的一部分。

开始

入门竞赛是 Kaggle 上最简单、最平易近人的比赛。这些是半永久性的竞赛,旨在供刚刚踏入机器学习领域的新用户使用。他们不提供奖品或积分。由于其长期运行的性质,入门竞赛可能是机器学习中教程最多的问题 - 正是新手入门所需要的!

  • 数字识别器

  • 泰坦尼克号:从灾难中学习 - 预测泰坦尼克号上的生存

  • 房价:高级回归技术

入门竞赛有两个月滚动排行榜。一旦提交超过两个月,它将失效,不再计入排行榜。这使新的Kagglers有机会看到他们的分数如何与一群竞争对手而不是成千上万的用户相提并论。

此外,Kaggle Learn平台为有兴趣从pandas到深度学习的免费动手数据科学学习的初学者提供了多个轨道。轨道中的课程分为易于消化的块,并包含笔记本练习,供您练习建立模型和新技术。您将学习参加 Kaggle 比赛所需的所有技能。

进阶

游乐场比赛是一种“为了好玩”的Kaggle比赛,比难度高出一步。这些竞赛通常提供相对简单的机器学习任务,并且同样针对有兴趣在较低风险环境中练习新型问题的新手或Kaggler。奖品范围从荣誉到小额现金奖励。游乐场比赛的一些例子是:

  • Dogs versus Cats - Create an algorithm to distinguish dogs from cats(猫狗识别分类)

  • New York City Taxi Trip Duration - Share code and data to improve ride time predictions(纽约市出租车行程持续时间 - 共享代码和数据以改进乘车时间预测

其他类型竞赛

招聘

在招聘竞赛中,规模为一的团队竞争为公司策划的挑战构建机器学习模型。在比赛结束时,有兴趣的参赛者可以上传他们的简历供主持人考虑。奖品是(可能)在举办比赛的公司或组织进行的工作面试。

招聘竞赛的一些例子是:

  • Airbnb Recruiting - New user booking prediction(Airbnb招聘 - 新用户预订预测)

虽然Kaggle本身不是严格的比赛类型,但保持了两个年度比赛传统。

第一个是三月机器学习竞赛,自 2014 年以来每年在美国大学篮球锦标赛期间举办。

第二个是以圣诞老人为主题的优化竞赛,每年圣诞节前后举行一次。

有限制的比赛

Kaggle很少举办参与有限的比赛。这些比赛要么是私人的,要么是仅限邀请的。

有限参与竞赛的一个例子是大师赛,这是私人比赛,将可见性和提交限制为仅受邀用户,通常是 Kaggle 大师和特级大师。

比赛的模式

除了不同类别的比赛(例如,“精选”)之外,还有一些不同形式的比赛。

经典竞赛模式

简单(或“经典”)比赛是那些遵循标准 Kaggle 格式的比赛。在简单的比赛中,用户可以在接受比赛规则后,在比赛开始时访问完整的数据集。作为竞争对手,您将下载数据,在本地或笔记本中构建模型,生成预测文件,然后将预测作为提交上传到Kaggle。到目前为止,Kaggle上的大多数比赛都遵循这种格式。

简单竞赛的一个例子是: Porto Seguro Safe Driver Prediction Competition.波尔图塞古罗安全驾驶员预测竞赛。

两阶段模式

在两阶段的比赛中,挑战分为两部分:第一阶段和第二阶段,第二阶段建立在第一阶段取得的成绩的基础上。第 2 阶段涉及在阶段开始时发布的新测试数据集。第二阶段的资格通常需要在第 1 阶段提交。在两阶段比赛中,阅读和理解比赛的具体规则和时间表尤为重要。

这种竞赛的一个例子是: Nature Conservancy Fisheries Monitoring Competition大自然保护渔业监测竞赛。

代码竞赛

有些比赛是代码竞赛。在这些比赛中,所有提交的内容都是在Kaggle笔记本内部完成的,并且无法直接将提交的内容上传到比赛。

这些比赛有两个吸引人的特点。竞争更加平衡,因为所有用户都有相同的硬件限额。获胜模型往往比其他比赛中的获胜模型简单得多,因为它们必须在平台施加的计算约束内运行。

代码竞赛在可以提交的笔记本上配置了自己独特的约束。这些可能受到以下特征的限制:CPU 或 GPU 运行时、使用外部数据的能力以及对互联网的访问。要了解必须遵守的限制,请查看该特定比赛的要求。

代码竞赛的一个例子是: Quora Insincere Questions ClassificationQuora不真诚的问题分类。

代码竞赛常见问题

我在提交时遇到错误。我该怎么办?

  1. 请参阅我们的代码竞争调试页面,了解和防止提交错误的提示。

  1. 首先,您需要编写一个笔记本,用于读取比赛的数据集并对测试集进行预测。具体来说,让你的笔记本将你的预测写入“提交文件”,该文件通常是提交.csv文件,尽管某些比赛具有特殊格式。请参阅竞赛的评估页面,或在数据页面中查找sample_submission.csv(或类似内容),了解有关提交文件的预期名称和格式的更多信息。

  1. 通过单击“保存版本”并选择“保存并全部运行”来保存笔记本的完整版本。这将保存代码,运行代码,并创建代码和输出的版本。保存完成后,导航到新笔记本版本的查看器页面。

  1. 在笔记本查看器中,导航到“输出”部分,找到并选择您创建的提交文件,然后单击“提交”按钮。

.......

如何参加比赛?

Kaggle举办各种不同类型的比赛,每种比赛都有来自不同领域和不同难度的问题。在开始之前,请导航到:Competitions listing“竞赛”列表。它列出了所有当前正在进行的比赛。

如果您点击列表中的特定比赛,您将转到比赛的主页。

第一个值得指出的元素是“规则”选项卡。这包含管理您参加赞助商比赛的规则。在下载数据或提交任何内容之前,您必须接受比赛规则。在开始之前阅读规则非常重要。如果您是新用户,则更是如此。不遵守规则的用户可能会在比赛结束时将其提交的内容无效或被禁止进入平台。因此,在选择参加之前,请务必阅读并理解规则。

如果有任何不清楚的地方,或者您对参与有疑问,比赛的论坛是提问的理想场所。

“概述”选项卡中提供的信息因竞赛而异。几乎总是包含并应审查的五个元素是“描述”,“数据”,“评估”,“时间表”和“奖品”部分。

该描述介绍了比赛的目标以及赞助商举办比赛的目标。

在数据选项卡中,您可以下载并了解有关比赛中使用的数据的更多信息。你将使用训练集来训练模型,并使用需要对其进行预测的测试集。在大多数情况下,数据或其子集也可以在笔记本中访问。

评估部分介绍如何设置提交文件的格式以及如何评估提交。每场比赛都使用一个指标作为竞争对手在排行榜上排名的客观衡量标准。

时间表上有关于比赛时间表的详细信息。大多数 Kaggle 竞赛至少包括两个截止日期:规则接受截止日期(在此之后,没有新团队可以加入或合并比赛)和提交截止日期(在此之后将不接受新的提交)。牢记这些截止日期非常非常重要。

奖品部分提供了将颁发给获奖者的奖品的细分(如果奖品相关)。这可能以金钱、赃物或其他津贴的形式出现。除了奖品外,比赛还可以将排名积分奖励给 Kaggle 进度系统。这显示在“概述”页的底部。

一旦您选择了比赛,阅读并接受了规则,并了解了比赛截止日期,您就可以提交了!

组建队伍

参加比赛的每个人都是一个团队。团队是由一个或多个在竞赛中进行协作的用户组成的组。加入与您在机器学习方面水平相同的其他用户团队是学习新事物、结合不同方法以及总体上提高总体分数的好方法。

重要的是要记住,团队规模不会影响您每天可以向比赛提交的数量限制:无论您是一人团队还是五人团队,您都将拥有相同的每日提交限制。

当您接受规则并加入比赛时,您将自动作为仅由您自己组成的新团队的一员加入。然后,您可以通过访问比赛页面上的“团队”选项卡以各种方式调整您的团队设置:

您可以在此选项卡上执行许多不同的团队相关操作。

团队成员资格的类型

有两种团队成员身份状态。一个人担任团队负责人。当我们需要与团队沟通时,他们是主要联系点,并且还具有一些额外的团队修改权限(稍后将讨论)。团队中的其他人都是成员。

如果您是团队负责人,您将在团队页面上看到其他团队成员姓名旁边的一个框,上面写着“成为领导者”。您可以随时单击此按钮以指定团队中的其他人为团队负责人。

提交

您需要提交模型预测才能在比赛中获得分数和排行榜位置。你如何去做取决于比赛的形式。

无论哪种方式,请记住,您的团队每天只能提交一定数量的提交。这个数字平均为五个,但因竞争而异。

排行榜

Kaggle竞赛最重要的方面之一是排行榜:

比赛排行榜分为两部分。

公共排行榜根据测试数据的代表性样本提供公开可见的提交分数。此排行榜在整个比赛中可见。

相比之下,私有排行榜使用其余的测试数据跟踪模型性能。因此,私人排行榜对谁的模型最好,因此谁是比赛的赢家和输家拥有最终决定权。在比赛结束之前,不会向用户发布在私有排行榜上计算哪些数据子集,或者提交在私有排行榜上的表现。

许多用户密切关注公共排行榜,因为竞争中的突破是通过排行榜中的分数增加来宣布的。这些跳跃反过来又激励了其他致力于比赛的团队寻求这些进步。但重要的是要正确看待公共排行榜。模型很容易过度拟合,创建在公共排行榜上表现非常好,但在私有排行榜上表现非常糟糕的东西。这称为过度拟合。

提交预测

对于大多数比赛来说,提交预测意味着将一组预测(称为“提交文件”)上传到 Kaggle。

任何支持此提交风格的比赛都将在比赛主页标题中显示“提交预测”和“我的提交”按钮。

若要提交新的预测,请使用“提交预测”按钮。这将打开一个模式,允许您上传提交文件。我们将尝试对此文件进行评分,然后在处理完毕后将其添加到“我的提交”中。

请注意,要进行计数,您的提交必须首先通过处理。如果您在处理过程中提交失败,则不会计算在内,也不会收到分数;它也不会计入您的每日提交限制。如果您在提交文件时遇到问题,最好的做法是在比赛的讨论论坛上寻求建议。

数据泄露

什么是泄漏?数据泄漏是指训练数据中存在意外的附加信息,允许模型或机器学习算法做出不切实际的良好预测。

泄漏是应用机器学习中普遍存在的挑战,导致模型过度表示其泛化误差,并经常使它们在现实世界中无用。它可能是由人为或机械错误引起的,在这两种情况下都可能是有意或无意的。

某些类型的数据泄漏包括:

  • 将测试数据泄漏到训练数据中

  • 将正确的预测或基本事实泄露到测试数据中

  • 信息从未来泄露到过去

  • 保留模型无法知道的已删除变量的代理

  • 逆转故意混淆、随机化或匿名化

  • 包含模型操作环境中不存在的数据

  • 扭曲模型预期使用范围之外的样本信息

  • 加入训练集的第三方数据中存在上述任何内容

论坛

General Discussion:有六个一般站点讨论论坛:

Kaggle Forum:特定于 Kaggle 社区的活动和主题

Getting Started入门:新Kagglers提问和讨论的第一站

Product Feedback产品反馈:告诉我们您喜欢什么、讨厌什么或希望什么

Questions & Answers问答:来自其他数据科学家的技术建议

Datasets数据集:开放数据的请求和讨论

Learn学习:与 Kaggle 学习课程相关的问题、答案和请求

猜你喜欢

转载自blog.csdn.net/m0_55780358/article/details/128544765