楼主: 时光永痕
808 0

[数据挖掘新闻] Ace数据科学和机器学习黑客马拉松的12个强大技巧 [推广有奖]

  • 0关注
  • 14粉丝

svip3

学术权威

12%

(VIP/贵宾)三级

48%

威望
0
论坛币
26 个
通用积分
49.7576
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
34070 点
帖子
2731
精华
0
在线时间
316 小时
注册时间
2020-7-21
最后登录
2024-4-24

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
Ace数据科学和机器学习黑客马拉松的12个强大技巧
像任何学科一样,数据科学也有很多“民间智慧”。这种民间智慧很难通过形式化或结构化的方式来教授,但对于行业以及数据科学黑客马拉松而言,对于成功而言仍然至关重要。
数据科学的新手常常给人一种印象,即了解所有机器学习算法将是解决所有机器学习问题的灵丹妙药。他们倾向于相信,一旦他们知道最常用的算法(梯度提升,Xtreme梯度提升,深度学习架构),他们就能在自己的角色/组织中表现出色,或者在比赛中排名领先。
可悲的是,那不会发生!
ACE数据科学黑客马拉松
如果您正在阅读本文,那么您很有可能参加了数据科学黑客马拉松(或其中的一些)。在最初的黑客马拉松比赛中,我个人一直在努力提高模型的性能,这真是令人沮丧的经历。我知道很多新人都面临着同样的障碍。
因此,我决定整理12种强大的技巧,这些技巧帮助我攀登了黑客马拉松排行榜的顶级梯队。这些技巧中有些很简单,而您需要练习一些才能掌握。
如果您是数据科学黑客马拉松世界的初学者,或者想要掌握黑客马拉松比赛的艺术,那么您绝对应该查看第三版HackLive –由Analytics Vidhya的顶级黑客领导的社区黑客马拉松。
Ace数据科学黑客马拉松的12个技巧
了解问题陈述
建立假设集
组队
创建一个通用代码库
特征工程是关键
合奏(几乎)总是赢
讨论!合作!
信任本地验证
不断发展
建立后见之明,以提高您的远见
重构代码
反复改进
数据科学黑客马拉松技巧1:了解问题陈述
似乎太简单了,难以置信?但是,了解问题陈述是推动任何数据科学黑客马拉松的第一步:
在不了解问题陈述,数据和评估指标的情况下,您的大部分工作都是徒劳的。花尽可能多的时间阅读它们,并在可能的情况下获得一些功能领域的知识
重新阅读所有可用信息。这将帮助您在编写一行代码之前确定一种方法/方向。只有在明确目标之后,才能进行数据探索阶段
让我向您展示我们进行的数据科学黑客马拉松中的问题陈述示例。这是BigMart销售预测问题的问题陈述:
BigMart的数据科学家收集了2013年不同城市10家商店中1559种产品的销售数据。而且,已经定义了每个产品和商店的某些属性。目的是建立预测模型并找出特定商店中每种产品的销售情况。
BigMart将使用此模型尝试了解在增加销售额中起关键作用的产品和商店的属性。
想法是找到影响产品销售的产品属性并存储。在这里,您可以根据自己的理解来考虑一些因素,这些因素可能对销售产生影响,并且在不查看数据的情况下提出了一些假设。
数据科学黑客马拉松技巧2:建立假设集
接下来,您应该建立一个全面的假设列表。请注意,在查看数据之前,我实际上是在要求您建立一组假设。这样可以确保您不会因数据中的内容而产生偏差
它还使您有时间更好地计划工作流程。如果您能够想到数百种功能,则可以优先确定首先要创建的功能
在此处阅读更多有关假设生成的信息
我鼓励您在本文中经历有关BigMart Sales问题的假设生成阶段:打破Big Mart Sales预测前20名的方法和解决方案我们根据商店级别和产品级别对它们进行了划分。让我在这里举例说明一些例子。
商店级假设:
城市类型:由于城市居民的收入水平较高,位于城市或1级城市的商店应提高销售量
人口密度:由于需求增加,位于人口稠密地区的商店应有较高的销售额
商店容量:大型商店应具有更高的销售量,因为它们就像一站式商店一样,人们更喜欢从一处获取所有商品
氛围:由礼貌且谦虚的人维护和管理良好的商店预计会增加人流,从而带来更高的销售额
产品级假设:
品牌:品牌产品应具有更高的销售额,因为对客户的信任度更高
包装:具有良好包装的产品可以吸引客户并销售更多产品
效用:与特定产品相比,日用产品的销售趋势应该更高
广告:在大多数情况下,商店中更好的产品广告应该会带来更高的销售额
促销优惠:带有有吸引力的优惠和折扣的产品将卖出更多
数据科学黑客马拉松Hack#3:组队!
建立团队并一起集思广益。尝试找到一个在您的团队中具有互补技能的人。如果您一生都是编码员,请与从事业务事务的人员合作
这将帮助您获得更多样化的假设,并增加赢得黑客马拉松的机会。唯一的例外是你们两个都应该使用相同的工具/语言堆栈
这将节省您很多时间,并且您可以并行尝试一些想法并爬到排行榜的顶部
在比赛初期获得良好的成绩,这有助于与排名较高的人合作
以下是团队赢得马拉松比赛的一些情况:
Creed团队在LTFS数据科学FinHack 2中获得第一名
Mark&SRK团队在“机器之王:数据科学黑客马拉松”中获得第二名
数据科学黑客马拉松技巧4:创建通用代码库
通过为自己喜欢的模型创建可重复使用的通用代码库和函数,从而节省宝贵的时间,以使其可用于所有黑客马拉松,例如:
如果数据集具有时间特征,则创建各种基于时间的特征
您可以编写一个函数,该函数将返回不同类型的编码方案
您可以编写函数来返回各种不同模型的结果,以便您可以明智地选择基准模型并相应地选择策略
这是我通常用来编码所有训练,测试和验证数据集的代码片段。我只需要在需要的那一列和哪种编码方案上传递字典。我不建议您使用完全相同的代码,但建议您方便使用一些功能,以便您可以花更多的时间进行头脑风暴和实验。
这是我如何使用上述功能的示例。我只需要提供一个字典,其中的键是我想要的编码类型,而值是我要编码的列名称:
您还可以使用pandas分析之类的库,通过读取数据来了解数据集:
数据科学黑客马拉松技巧5:要素工程是关键
“更多数据胜过聪明的算法,但是更好的数据胜过更多数据。”
–彼得·诺维格
功能工程!这是数据科学黑客马拉松中我最喜欢的部分之一。在功能工程方面,我可以发挥自己的创造力-哪个数据科学家不喜欢呢?
特征工程是从现有数据中提取更多信息的艺术。您没有在此处添加任何新数据,但实际上是在使已有的数据更有用
例如,假设您正在尝试根据日期预测购物中心的客流量。如果您尝试直接使用日期,则可能无法从数据中提取有意义的见解。这是因为与星期几相比,月日对人流的影响较小。现在,有关星期几的信息已隐含在您的数据中。您需要带出它来改善您的机器学习模型
预测模型的性能在很大程度上取决于用于训练模型的数据集中特征的质量。如果您能够创建有助于向模型提供有关目标变量的更多信息的新功能,则其性能将会提高
在预处理和要素工程上花费大量时间。您需要专注于此,因为这可能会在分数上产生巨大差异
如果时间不足,您也可以尝试使用诸如Featuretools之类的一些自动化工具来创建特征。这是一篇很棒的文章,可以帮助您开始使用Featuretools:使用Featuretools进行自动特征工程的动手指南
我强烈建议您阅读以下文章,以了解有关功能工程的更多信息:
数据探索综合指南
6种用于时序数据的强大功能工程技术
3种适合初学者的技术,可从图像数据中提取特征
以下是有关先前黑客马拉松获奖者解决方案的一些文章。看看他们制作了什么样的功能,以及他们如何思考它:
WNS Analytics向导2019:我们最大的数据科学黑客马拉松的前3名获奖者解决方案。
AmExpert 2019的5大获奖解决方案和方法
LTFS数据科学FinHack 2(含代码)的前3个获奖解决方案和方法
数据科学黑客马拉松技巧#6:合奏(几乎)总能赢
95%的获奖者在DataHack黑客马拉松的最终提交中使用了集成模型
集成建模是一种改善模型性能的有效方法。这是将各个模型的不同结果结合在一起以改进模型的稳定性和预测能力的艺术
没有集成模型,您将找不到任何具有顶级解决方案的数据科学黑客马拉松
您可以从以下文章中了解有关不同合奏技术的更多信息:
合奏学习基础
综合学习综合指南
这是高级集成技术的示例:Marios Michailidis使用的三层堆叠:
ACE数据科学黑客马拉松
数据科学黑客马拉松技巧7:讨论!合作!
随时了解论坛讨论,以确保您不会错过任何有关该问题的明显细节
不要犹豫,在论坛/消息中提问:
ACE数据科学黑客马拉松
数据科学黑客马拉松技巧#8:信任本地验证
不要通过将数据转储到算法中而进入构建模型。虽然了解基本基准很有用,但您需要退后一步并建立一个可靠的验证框架
未经验证,您只是在黑暗中射击。您将被过度安装,泄漏和其他可能的评估问题所摆布
通过复制评估机制,您可以通过测量验证结果以及确保模型足够健壮以在训练/测试数据的各个子集上很好地执行,来更快更好地进行改进。
拥有强大的本地验证集,并避免过多依赖公共排行榜,因为这可能会导致过拟合,并可能使您的私人排名大大降低
在“餐厅收入预测”竞赛中,在公共排行榜上排名第一的团队在私人排行榜上滑落至1962。
“第一行我们用来确定哪些行是公共排行榜得分的一部分,第二行用于确定正确的预测。在此过程中,我们遇到了许多有趣的数学,计算机科学和统计方面的挑战。”
资料来源:  Kaggle:BAYZ小组
ACE数据科学黑客马拉松
数据科学黑客马拉松技巧#9 –不断发展
能够生存的不是最强大或最聪明的人,而是能够最好地应对变化的人。 -查尔斯·达尔文
如果您打算进入数据科学黑客领域的精英阶层,那么一件事很明确–传统技术和知识无法赢得胜利。
在Hackathons中采用逻辑回归或KNN可能是一个很好的起点,但是随着您前进,这些将不会使您进入前100名。
让我们举一个简单的例子–在NLP黑客马拉松的早期,参与者使用TF-IDF,然后出现了Word2vec。快进到当今,有最先进的变压器。计算机视觉等等也是如此。
保持自己在Github上的最新研究论文和项目的最新状态。尽管这将需要一些额外的努力,但这是值得的。
数据科学黑客马拉松技巧#10 –使用Hindsight建立远见
比赛结束后,您是否曾经坐过下来放松一下,或者考虑过您本可以做的事情,然后继续下一场比赛,您是否曾经想到过?好吧,这是学习的最佳时间!
比赛结束后不要停止学习。阅读比赛的获奖解决方案,分析哪里出错了。毕竟,从错误中学习可能非常有影响力!
尝试改善您的解决方案。做笔记。将其推荐给您的朋友和同事,并获取反馈。
这将为您的下一场比赛打下坚实的起点。这次,您将更有能力解决问题陈述。Datahack提供了一个很酷的后期提交功能。即使在黑客马拉松结束后,您也可以更改代码,然后提交解决方案并检查其得分!
数据科学黑客马拉松技巧#11 –重构代码
想象一下,生活在一个房间里,那里的一切都很凌乱,周围到处都是衣服,架子上的鞋子,地板上都有食物。真讨厌 是不是 您的代码也是如此。
当我们开始比赛时,我们会很兴奋,我们可能会编写粗糙的代码,从较早的笔记本中进行粘贴粘贴,以及从堆栈溢出中进行粘贴。整个笔记本电脑继续这种趋势将使其变得混乱。了解您的代码将占用您的大部分时间,并使执行操作变得更加困难。
解决方案是不时地重构代码。定期维护代码。
这也将帮助您与其他参与者合作,并获得更好的沟通。
数据科学黑客马拉松技巧#12 –迭代改进
我们中的许多人都遵循线性建模的方法,并经过相同的过程-数据清理,EDA,功能工程,模型构建,评估。诀窍是要了解这是一个循环且反复的过程。
例如,我们正在建立一个销售预测模型,但MAE较低,因此我们决定分析样本。因此,事实证明,我们的模型为女性买家提供了虚假的结果。然后,我们可以退后一步,专注于性别功能,对其进行EDA并检查如何从中进行改进。我们在这里来回走动,并逐步改进。
我们还可以查看一些强大而重要的功能,并将其中一些功能结合起来并检查其结果。我们可能会看到也可能不会看到改善,但只能通过反复移动来解决。
理解诀窍是要成为一个动态学习者,这一点非常重要。遵循迭代过程可以使您获得两位数或一位数的排名。
最后的想法
不管我参加的黑客马拉松活动如何,这12个技巧都使我处于稳定状态。当然,这里有一些调整,并且有必要,但是拥有一个可靠的框架和结构将使您在实现数据科学成功方面有很长的路要走黑客马拉松。
题库
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:数据科学 机器学习 马拉松 Analytics Analytic

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 15:46