更多深度文章,请关注:https://yq.aliyun.com/cloud
作者:Team Machine Learning,这是一个机器学习爱好者团队,他们热衷于建立一个希望在数据科学/机器学习方面建立事业的有抱负的年轻毕业生和专业人士的环境。
上一节讲述了机器学习的一些知识点和工具,接下来的问题会更加现实。
问答
20.是否需要Kaggle排行榜顶尖的技能,也是你作为数据科学家日常工作所需的技能? 或者它们相交还是有些不同? 我可以认为数据科学家的工作是基于Kaggle比赛吗? 如果一个人在Kaggle上做得很好,那么她会在她的职业生涯中成为一名成功的数据科学家吗?
有一定比例的重叠,特别是在制作预测模型时,通过python / R处理数据并创建报告和可视化。 Kaggle不提供(但你可以得到一些想法):
- 如何将业务问题转化为建模的问题
- 如何监控模型的部署
- 如何解释(多次)困难的概念给利益相关者。
我认为在业界总是留有优秀的kagglers的空间。 只是数据科学可以有许多可能的路线。 例如,不是每个人都倾向于自己创业,或者是面对客户,而是解决非常特殊的(技术)任务。
21.哪些机器学习概念必须在Kaggle比赛中表现良好?.
- 数据询问/探索
- 数据转换-预处理
- 掌握工具知识
- 熟悉度量和优化
- 交叉验证
- 模型校正
- 集成
22.你如何看待数据科学家工作的未来?自动化会扼杀这份工作吗?
不,我不这么认为。这就是他们过去曾说的自动化计算。但最终需要大量的开发人员来完成这项工作!数据科学家可能会专注于随着时间的推移,将业务问题翻译成ml问题,并且通常成为流程的指导者——如建模过程的经理/主管一样。
23.如何在R和Python中使用整体建模来提高预测的准确性。 请引用一些现实生活中的例子?
你可以看我的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
https://github.com/kaz-Anova/ensemble_amazon
http://blog.kaggle.com/2015/12/03/dato-winners-interview-1st-place-mad-professors/
https://mlwave.com/how-we-won-3rd-prize-in-crowdanalytix-copd-competition/
36.你需要多长时间来建立你的第一个机器学习预测器?
取决于问题(大小、复杂性、特征数量)。一般来说,一开始你可能会花费很多时间在稍后可以考虑的事情上。 考虑到编程,背景或其他经验,每个人的时间可能会有所不同。
37.你可以推荐一些知识竞赛吗,不一定在水平上竞争如kaggle但是可以为你的技能打基础?
看这里,titanic和数字识别器都是很好的比赛来开始。titanic更好,因为它假定一个平面文件。 数字识别器用于图像分类,因此可能会更先进。
38.你对于使用Weka或R 和Python来学习机器学习有什么看法?
我喜欢Weka。它有一个很好的文档——特别是如果你想学习算法。 不过我不得不承认,它不像R和Python的一些实现一样有效。 它有很好的覆盖。 Weka也有一些很好的可视化——特别是对于一些基于树的算法。 我可能会建议你把重点放在R和Python,除非你的背景完全是使用Java。
概要
简而言之,机器学习竞赛成功的关键在于学习新事物,花费大量的时间训练,特征工程和验证模型。 除此之外,在论坛上与社区进行互动,阅读博客并从其他竞争对手的方法中学习。
以上为译文
文章原标题《Winning Tips on Machine Learning Competitions by Kazanova, Current Kaggle #3》,作者:Team Machine Learning,译者:tiamo_zn,审校:海棠。
文章为简译,更为详细的内容,请查看原文