教你如何在机器学习竞赛中更胜一筹(下)

简介: 本文总结由Marios Michailidis(a.k.a Kazanova),Kaggle Grandmaster在2016年3月5日现在排名第3位的在线研讨会上分享的技巧,更好地在机器学习竞赛中取胜

更多深度文章,请关注:https://yq.aliyun.com/cloud


作者:Team Machine Learning,这是一个机器学习爱好者团队,他们热衷于建立一个希望在数据科学/机器学习方面建立事业的有抱负的年轻毕业生和专业人士的环境。


上一节讲述了机器学习的一些知识点和工具,接下来的问题会更加现实。

问答

20.是否需要Kaggle排行榜顶尖的技能,也是你作为数据科学家日常工作所需的技能? 或者它们相交还是有些不同? 我可以认为数据科学家的工作是基于Kaggle比赛吗? 如果一个人在Kaggle上做得很好,那么她会在她的职业生涯中成为一名成功的数据科学家吗?

有一定比例的重叠,特别是在制作预测模型时,通过python / R处理数据并创建报告和可视化。 Kaggle不提供(但你可以得到一些想法):

  • 如何将业务问题转化为建模的问题
  • 如何监控模型的部署
  • 如何解释(多次)困难的概念给利益相关者。

我认为在业界总是留有优秀的kagglers的空间。 只是数据科学可以有许多可能的路线。 例如,不是每个人都倾向于自己创业,或者是面对客户,而是解决非常特殊的(技术)任务。

21.哪些机器学习概念必须在Kaggle比赛中表现良好?.

  • 数据询问/探索
  • 数据转换-预处理
  • 掌握工具知识
  • 熟悉度量和优化
  • 交叉验证
  • 模型校正
  • 集成

22.你如何看待数据科学家工作的未来?自动化会扼杀这份工作吗?

不,我不这么认为。这就是他们过去曾说的自动化计算。但最终需要大量的开发人员来完成这项工作!数据科学家可能会专注于随着时间的推移,将业务问题翻译成ml问题,并且通常成为流程的指导者——如建模过程的经理/主管一样。

23.如何在RPython中使用整体建模来提高预测的准确性。 请引用一些现实生活中的例子?

你可以看我的github脚本,它解释了不同的基于Kaggle比赛的机器学习方法。同时,核对这个集成指南

24.什么是最好的python深度学习库或文本分析框架?

我喜欢Keras(因为现在支持稀疏数据),Gensim(对于word 2 vec)。

25.在现实生活中,通过这些竞赛获得的知识有多大价值? 我经常看到通过合并许多模型赢得的比赛...这是现实生活中的情况吗? 还是在真实的制作系统中解释模型比这些庞大的组合更有价值?

在某些情况下,是的——可解释或快速(或记忆效率)更重要。但随着时间的推移,这将很可能改变,因为人们将不再害怕黑盒子解决方案,并专注于准确性。

26. 我应该学习关于机器学习算法的核心,还是继续尝试形成对算法的理解并使用它们(在比赛中,并解决现实生活中的商业问题)?

你不需要核心。 每天都有出现的新东西——有时很难跟踪它。 这就是为什么你应该专注于任何算法的正确使用,而不是投资于一个。

27.哪些是不平衡数据的最佳机器学习技术?

我在这里不做特别的处理。 这归功于优化正确的度量(对我来说)。用几句话来解释很难。有很多技术的抽样,但我从来没有使用过。 有些人正在使用Smote。 我认为试图更改目标变量的主分布是没有价值的。你只是最终得到增加或改变主要几率。 如果你真的想要一个界限来决定你是否应该采取行动 - 你可以根据主要几率进行设置。

我可能不是最好的回答这个问题的人。我个人从来没有发现它(显著)有助于改变目标变量的分布或目标变量中的几率的感知。可能只是其他算法在处理这个任务时比其他算法更好(例如基于树的应用程序应该能够处理这个)。

28.通常,营销研究问题主要通过标准回归技术来处理 - 线性和逻辑回归,聚类,因子分析等。我的问题是机器学习和深度学习技巧/算法对营销研究或业务问题有用吗? 例如,如何解释一个神经网络的输出到客户端是有用的?有什么资源可以参考吗?

它们在某种意义上是有用的,你可以很有可能提高准确度(在预测上我们说营销反应)与线性模型(如回归)。 解释输出是很困难的,在我看来,这不是必要的,因为我们一般都会走向更多的黑盒子和复杂的解决方案。

作为数据科学家,你应该努力确保有一种方法来测试一些不可观察(测试)数据的结果有多好,而不是想了解为什么你得到的预测类型。 我认为从复杂模型中解压缩信息是一个很好的话题(对研究有用),但是我不认为这是必要的。

另一方面,公司、人员、数据科学家、统计学家和一般可被归类为“数据科学玩家”的任何人都需要接受教育,接受黑箱解决方案是完全正常的。 这可能需要一段时间,所以运行一些回归以及你正在做的任何其他建模可能会很好,并且通常会尝试提供说明图和总结信息,以便为您的模型为什么执行此操作。

29.如何在Kaggle建立合作团队?

你可以在论坛(即kaggle)中询问。 在“人们可以信任你”之前,这可能需要几场比赛。 原因是他们害怕复制的帐户(违反竞争规则),所以人们更喜欢被证明是公平的人。 假设有一段时间过去了,你只需要想想你想玩的人,你认为你可以从中学习的人与可能和你采取不同的方法的人,所以你可以在组合方法时利用多样性的好处。

30. 我已经完成了基本的机器学习课程(理论)。现在我开始了我的实践历程。你刚刚推荐通过scikit learn文档,现在人们都在说TENSORFLOW是下一个scikit learn,所以我应该通过scikit还是TF是一个不错的选择?

我不同意这个“人们在说TENSORFLOW是下一个scikit learn”的说法。 Tensorflow是一个完成某些机器学习任务(如深入学习)的框架。 我想你可以学习两者,但我会从scikit开始。 我个人不知道TensorFlow,但是我使用的是基于张量流的工具(例如Keras)。

31.我在任何比赛中面临的主要挑战是清理数据,使其可用于预测模型。 你如何克服呢?

我加入了俱乐部! 一段时间后,你将创建可以相对较快处理这个的管道。 但是,你总是需要在这方面花时间。

32.如何在没有强大的机器的情况下计算大数据?

你应该考虑一些如vowpal wabbit和在线解决方案的工具,可以逐一解析所有内容。 你需要在编程方面投入更多资源。

33.什么是特征工程?

简而言之,特征工程可以理解为:

  • 特征变换(例如将数字或分类变量转换为其他类型)
  • 特征选择
  • 利用特征交互(比如我应该把变量A和变量B结合起来)
  • 处理空值
  • 处理异常值

34.哪些数学技能在机器学习中很重要?

一些基本概率以及线性代数(例如向量)。 然后一些统计数据也有帮助。 像平均值、频率、标准偏差等。

35.可以分享你以前的解决方案吗?

看一些代码和一些没有(只是一般的方法)。

https://www.kaggle.com/c/malware-classification/discussion/13863

http://blog.kaggle.com/2015/05/11/microsoft-malware-winners-interview-2nd-place-gert-marios-aka-kazanova/

https://github.com/kaz-Anova/ensemble_amazon

http://blog.kaggle.com/2015/12/03/dato-winners-interview-1st-place-mad-professors/

http://blog.kaggle.com/2016/04/08/homesite-quote-conversion-winners-write-up-1st-place-kazanova-faron-clobber/

https://mlwave.com/how-we-won-3rd-prize-in-crowdanalytix-copd-competition/

http://blog.kaggle.com/2016/08/31/avito-duplicate-ads-detection-winners-interview-2nd-place-team-the-quants-mikel-peter-marios-sonny/

http://blog.kaggle.com/2016/12/15/bosch-production-line-performance-competition-winners-interview-3rd-place-team-data-property-avengers-darragh-marios-mathias-stanislav/

36.你需要多长时间来建立你的第一个机器学习预测器?

取决于问题(大小、复杂性、特征数量)。一般来说,一开始你可能会花费很多时间在稍后可以考虑的事情上。 考虑到编程,背景或其他经验,每个人的时间可能会有所不同。

37.你可以推荐一些知识竞赛吗,不一定在水平上竞争如kaggle但是可以为你的技能打基础?

看这里titanic和数字识别器都是很好的比赛来开始。titanic更好,因为它假定一个平面文件。 数字识别器用于图像分类,因此可能会更先进。

38.你对于使用WekaR Python来学习机器学习有什么看法?

我喜欢Weka。它有一个很好的文档——特别是如果你想学习算法。 不过我不得不承认,它不像RPython的一些实现一样有效。 它有很好的覆盖。 Weka也有一些很好的可视化——特别是对于一些基于树的算法。 我可能会建议你把重点放在RPython,除非你的背景完全是使用Java

概要

简而言之,机器学习竞赛成功的关键在于学习新事物,花费大量的时间训练,特征工程和验证模型。 除此之外,在论坛上与社区进行互动,阅读博客并从其他竞争对手的方法中学习。


以上为译文

本文由北邮@爱可可-爱生活 老师推荐,阿里云云栖社区组织翻译。

文章原标题《Winning Tips on Machine Learning Competitions by Kazanova, Current Kaggle #3》,作者:Team Machine Learning译者:tiamo_zn,审校:海棠。

文章为简译,更为详细的内容,请查看原文

相关文章
|
机器学习/深度学习 数据采集 算法
机器学习算法竞赛实战--3,数据探索
数据探索可以帮助回答以上这3点,并能够保证竞赛的最佳结果,它是一种总结,可视化和熟悉数据集中重要特征的方法。数据探索有利于我们发现数据的一些特征,数据之间的关联性有助于后续的特征构建
85 0
机器学习算法竞赛实战--3,数据探索
|
机器学习/深度学习 算法 搜索推荐
机器学习算法竞赛实战--2,问题建模
我们可以将数据理解分为两个部分,分别是数据基础层和数据描述层当然在问题建模阶段,并不需要对数据有特别深的理解,只需要做基本的分析即可在后面的数据探索阶段,再深入理解数据,从数据中发现关键信息
89 0
机器学习算法竞赛实战--2,问题建模
|
机器学习/深度学习 人工智能 算法
机器学习算法竞赛实战--1,初见竞赛
在时代的洪流之下,各行各业都在寻求生存之道利用先进的技术完成转型则是一个很好的办法,有些企业就开始寻求人工智能的助力开始向社会征求优秀的算法解决方案,此外,在学术领域的研究者们也渴望获得企业的场景和数据用于算法研究这就催生出了各种竞赛平台。对于有志于进军机器学习相关领域从事研究或者相关工作的初学者来说竞赛是性价比极高的一个实战选择,可以说是0门槛,任何人都可以参加。
109 0
机器学习算法竞赛实战--1,初见竞赛
|
机器学习/深度学习 算法
天池读书会|机器学习算法竞赛实战(文末赠书)
天池读书会之《机器学习算法竞赛实战》,由阿里云天池和图灵社区联合举办,本次邀请到图书作者本人,先就职于小米商业算法部的王贺大佬(鱼遇雨欲语与余)解读图书《机器学习算法竞赛实战》内容,以天池平台开放的二手车交易价格预测为例从实战入手了解机器学习竞赛的流程和几个核心的算法竞赛方向。
691 0
天池读书会|机器学习算法竞赛实战(文末赠书)
|
机器学习/深度学习 自然语言处理 数据可视化
Competition——ML/DL:机器学习、深度学习各种计算机视觉、自然语言处理、科学预测等等比赛竞赛简介
Competition——ML/DL:机器学习、深度学习各种计算机视觉、自然语言处理、科学预测等等比赛竞赛简介
Competition——ML/DL:机器学习、深度学习各种计算机视觉、自然语言处理、科学预测等等比赛竞赛简介
|
机器学习/深度学习 算法 TensorFlow
Kaggle CTO 力荐:从 Kaggle 历史数据看机器学习竞赛趋势
Kaggle 是全球最大数据建模和数据分析竞赛平台,也是检验个人水平的最佳舞台。现如今,随着社会对机器学习人才的需求提高,在 Kaggle 上刷到过前 5%、10% 也成了应聘的一个硬指标。考虑到 Kaggle 的权威性和受欢迎度,这么多年来,这个平台的数据应该能体现整个数据科学领域的发展轨迹。
2275 0
|
机器学习/深度学习
《构建实时机器学习系统》一1.7 案例:Netflix在机器学习竞赛中学到的经验
本节书摘来自华章出版社《构建实时机器学习系统》一 书中的第1章,第1.7节,作者:彭河森 汪涵,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1744 0
|
2月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
166 14
|
2月前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
2月前
|
机器学习/深度学习 算法 数据可视化
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
60 1