五个步骤教你独立完成数据科学项目
可以说,提出一个新颖又能执行的想法,其实是在项目中最困难的部分。你会很容易被带进误区,一不小心就花了几个小时去找现有的数据,还想尝试提出新的有趣的想法。但这种方法的问题在于:当你只关注现有数据集——如Kaggle、谷歌数据集、FiveThirtyEight——时,你会把你的创造力限制在这些数据集上。
有时,我喜欢探索对我来说很有趣的数据集。去重复、复制Kaggle 上的预测任务,可能只有百万分之一的概率会益于我的学习进度。但作为数据科学家,我们真正要做的,是努力创造新的和独特的东西,并产生有用的见解。
那么你要怎么能想出一个新的想法呢?我的个人方法是,将创造性研究给我带来的灵感,和我自己的经验相结合。但这又导致了 5 个关键问题,其中包括了项目想法的案例。这些问题能指导你的创意产生的过程,并让你能够充分发挥你的创造力,从而得到新的、独特的数据科学项目想法。本文我将为你介绍这5个问题,能帮你更好地独立完成数据科学项目。如果你想了解更多数据分析相关内容,可以阅读以下这些文章:
硅谷数据科学家岗位哪家工资高,哪家面试题难?揭秘FANNG迥异的面试画风!
面试当中的背景调查是怎样进行的?
数据工程师面试最全指南
面试常见5大SQL题目:培养SQL技能,助你完胜任何面试!
1. 我为什么要开始一个项目?
当你想开始一个新项目时,你首先需要一个意图或目标。为什么你要再做一个数据科学项目?对你的目标进行广泛的分类,可以帮助你集中精力寻找某个想法。所以,你可以想想你是不是想创造以下内容:
- 向潜在雇主展示的作品集项目
- 一篇关于概念、模型或探索性数据分析等的博客
- 一个能让你练习到技能的项目——比如自然语言处理、数据可视化、数据的整理或某个机器学习算法
- 或者你有其他想法
2. 我的专业和兴趣领域是什么?
这个问题很重要,主要有以下三个主要原因。首先,想想数据科学的维恩图(Venn Diagrams):领域专业知识是每个数据科学家都应该拥有的重要资产。只有当你真正了解潜在问题时,你才能解决数据问题。否则,你实施的算法、可视化和创建的预测,会和真实领域的从业者无关。
其次,要对你正在处理的想法和数据集感兴趣。你不能强迫自己把空闲时间花在一个你并不关心的项目上。如果你对某个领域感兴趣,那你不需要成为那个领域的专家。但是,你同样也要愿意花时间进行额外的研究,并了解数据之外的问题。
第三,研究人员发现,在创作过程中引入限制,会带来更好的结果。意思是,专注于某区域或区域组合去提出一个想法,会比不限制搜索过程产生更好的结果。比如,我的兴趣和专长领域是可持续性、金融、流行文化和自然语言处理。专注于这些主题,让我能在判断灵感能否转化为可执行的新想法时,利用我现有的知识。
3. 我怎样才能找到灵感?
寻找灵感最重要的事情就是阅读。各种各样的来源可以帮助你在产生创意的过程中,找到有趣的主题,这里举三个例子:
- 新闻、观点、博客文章:以故事的形式存在的文章,是提出想法的好来源。WIRED 发表了一篇关于谷歌自动完成搜索功能中, 出现政治偏见的故事。你可以用它来调查语言模型中的偏差。或者你也可以调查是否可以根据在 Google 中输入的搜索查询来预测一个人的所在位置。
- 科学文献:学术论文会讨论和调查主题相关的开放性研究问题的段落。在一篇介绍语言模型 GPT-2 的论文提到,在没有微调的情况下,该模型在某些任务(例如回答问题)上的表现并不比随机更好。所以,为什么不写一些关于微调这个模型的复杂性的东西呢?
- 数据科学帖子:浏览介绍数据科学主题和项目的博客帖子,可以产生新的想法。我看到了 The Office 的 NLP 探索,瞬间后悔自己为什么没有先提出这个想法。那浏览另一个电视节目呢?或者通过几部电影来寻找模式?你还可以用 GPT-2 为你喜爱的节目编写脚本。
除了阅读,在日常生活中也要敞开心扉,寻找灵感。每次当你对某事感到疑惑时,可以想想能否用数据来回答这个问题。例如,我最近偶然发现了电视节目 The Boys 的预告片,又在 IMDb 上看到了很多正面评价。所以我问自己,有没有被证实的趋势,证明流行的电视节目正在变得更加暴力?是不是有越来越多的观众喜欢暴力节目?我们可以利用这些好奇的时刻,并用数据探索这些问题。
从上述灵感中,你有哪些选择可以创造想法?神经科学家确定了与创意产生相关的三个不同的心理过程:
- 你可以用现有的想法去创造一个新的结果(组合创造力)→ 比如,有很多项目分析 Airbnb 房源,而其他项目在分析房地产市场。结合这些想法,可以调查Airbnb是否会提高一个城市的房价
- 你可以探索一个现有的想法,并寻找需要解决的新问题(探索性创造力)→ 现在有一个关于大学教育出来的数据科学家,和自学的数据科学家的对比,你可以调查谁会更成功。
- 你可以采用现有的想法,并对其进行更改,从而完全改变它的规则或含义(变革性创造力)→这是最罕见的创造力形式,并且在我们常识概念之外运作。举一个例子,与其预测某事会不会发生,不如尝试预测一些不会发生的事情。
4. 在哪里可以找到相关数据?
当你有了一个大概的主题,就要开始寻找数据,来确定如何在数据科学项目中实现这个想法。这对于确定你的想法能否执行至关重要。可以考虑在现有数据库,或者那些更难收集但仍需收集的数据:
- 现有数据集来源:Kaggle、Google Datasets、FiveThirtyEight、BuzzFeed、AWS、UCI Machine Learning Repository、data.world、Data.gov 等等,在谷歌搜索就会找到。
- 其他人用了什么:在 Google 和 Google Scholar 上搜索你想要的主题,看看有没有人已经调查过类似的问题。他们用了哪些数据?我们的数据世界结合了你可能还不知道的学术和非学术资源。
- 通过以下方式收集数据:网络抓取、文本挖掘、API、事件跟踪、日志收集。
如果你找不到能帮助你解决项目想法的数据,就需要重新整理语言,并再次寻找。尽力尝试去找一个可以用你的数据来回答的想法。同时,问问自己为什么你想要的数据不能用?你关注的领域有什么问题,如何解决?回答这些问题会帮助数据科学项目本身的发展。
5. 我可以执行我的最终想法吗?
你有一个绝妙的想法!但它可以实施吗?回顾你的创意产生过程。想一想你想达到什么目标(问题 1),你是否在这个领域有兴趣或专业知识(问题 2),以及你是否拥有执行这个想法所需的数据(问题 4)。现在,你需要确定你是否具备实施项目,并实现目标的技能。
要考虑的一个重要因素是,你是否愿意在这个项目上花费的时间。你是否愿意在这个项目上付出“攻读博士学位”的努力。因此,你的最终项目可能只是你想法的一部分,或者可能是你学习将来所需的技能。在这个想法产生过程的最后,应该是一个研究问题,你可以并且愿意花时间来实现你的目标并回答这个问题。
最后的想法
- 管理你的想法:提出一个可执行的新想法,远远不止几个小时的时间。这是一个持续的灵感迸发的过程,你应该写下你想到的任何想法。可以在手机上打开笔记,跟踪记录自己的想法。你也可以将你的多个想法组合成一个强大的项目。
- 与其他人谈论你的想法:和别人讨论你的项目想法可以帮助你。也许可以发现一个更有趣的类似问题。也许他们可以将你指向其他的数据源。也许你需要一个可以探讨意见的人,来判断你的想法是否有意义。
- 不要害怕重新开始:每一次经历都会教会你一些东西。每次编写一行代码时,你都会练习并扩展你的技能。当你意识到你的想法并没有让你更接近目标或该想法无法执行时,请不要害怕放弃,并继续前进。你花的时间没有浪费。其中重要的是要明白,你的努力何时可以产生回报。
这份经验分享为我带来了新的独特的数据科学项目想法,我希望这份分享也可以对你起到相对应的作用。你还可以订阅我们的YouTube频道,观看大量数据科学相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/
原文作者:Julia Nikulski
翻译作者:Peter Mei
美工编辑:过儿
校对审稿:Jiawei Tong
原文链接:https://towardsdatascience.com/5-steps-to-develop-unique-data-science-project-ideas-6c2b3a0014b