精华内容
下载资源
问答
  • 包含我已阅读的有关数据科学和机器学习的书籍: 数据科学问题库 包含在实际数据科学访谈中提出的示例问题: 数据科学案例研究 包含有关设计机器学习系统以解决实际问题的案例研究问题。 数据科学组合 本节包含我为...
  • 在这个暑假,有兴趣的可以阅读一下这些免费的有关机器学习和数据科学的书籍,他们能给你打开一扇看清机器学习和数据科学的窗。如果在阅读完这一文章后想知晓更多免费的好书,请查看本系列的前一篇或下面的相关内容。...

    在这个暑假,有兴趣的可以阅读一下这些免费的有关机器学习和数据科学的书籍,他们能给你打开一扇看清机器学习和数据科学的窗。如果在阅读完这一文章后想知晓更多免费的好书,请查看本系列的前一篇或下面的相关内容。

    阅读原文:机器学习和数据科学领域必读的10本免费书籍

    展开全文
  • 另一本关于数据科学的书-并行学习R和Python 这是一本关于数据科学和定量分析的简短书籍,结合使用R和Python。 该书的当前版本有七章。 章节 1. R / Python编程简介 R和Python是数据科学中最流行的两种编程语言。 在...
  • 与不同数据科学和机器学习主题相关代码,资源和实用程序存储库。 用于学习,练习和教学目的。 实用程序可以通过安装 python setup.py develop 数据科学资源 提供了按主题(例如数学,深度学习,NLP)分组建议...
  • 作者:Pranav Dar翻译:季洋校对:张玲本文约6000字,建议阅读10分钟。本文为你介绍了27本有关数据科学方面精彩书籍。引言每个人都有自己学习方法,而助我闯...
        

    640?wx_fmt=png

    作者:Pranav Dar 

    翻译:季洋

    校对:张玲

    本文6000字,建议阅读10分钟

    本文为你介绍了27本有关数据科学方面的精彩书籍。


    引言


    每个人都有自己的学习方法,而助我闯入数据科学领域的则是书籍。书籍将知识世界压缩成几百页,没有什么能像它一样打开你的思维,我从未在其他任何学习方法中发现这种魔力和魅力。


    “如果你只是阅读人人都在阅读的书,你可能只能想到人人都在想的东西。”

    —— 村上春树


    640?wx_fmt=png


    靠自己来学习数据科学可能是一项非常艰巨的任务!现在有许多方法来学习 – 网络公开课、研讨会、学位、文凭和文章,诸如此类。但是,系统化安排它们,致力于形成一条结构化的学习路线,以成为一名数据科学家,是至关重要的。


    一条结构化的学习路线:https://trainings.analyticsvidhya.com/courses/coursev1:AnalyticsVidhya+LPDS2019+LPDS2019_T1/info?utm_source=booksarticle&utm_medium=blog


    成为一名数据科学家,是:

    https://trainings.analyticsvidhya.com/courses/coursev1:AnalyticsVidhya+LPDS2019+LPDS2019_T1/info?utm_source=booksarticle&utm_medium=blog


    关于数据科学的书,已经有了成百上千本,你该如何选择开始之处呢?怎么选择适合学习某种技术或领域的书呢?尽管对于这个问题没有一刀切的答案,我已经竭尽所能,精减书单,得到一份只有27本的简短书单。


    将这些书分成不同的领域,以易于你理解。


    • 统计学书籍

    • 概率学书籍

    • 机器学习书籍

    • 深度学习书籍

    • 自然语言处理(NLP)书籍

    • 计算机视觉书籍

    • 人工智能书籍

    • 工具/语言书籍 

    • Python

    • R


    福利:


    在这篇文章底部,你将会发现一个极好的说明图表,涵盖上述提及的每一本书。你可以将它作为一个“待读”书单,当你读完一本书时,可从单子上将它们一一划去!你也可以下载这个图表的一个高分辨率版本,打印出来非常完美,因为它是PDF格式。


    好了,让我们现在就进入正题。


    这个图表的一个高分辨率版本:

    https://discuss.analyticsvidhya.com/t/download-hd-infographic-27-essential-data-science-books/75604


    统计学书籍


    《白话统计学


    https://www.amazon.in/Statistics-Plain-English-Third-1/dp/041587291X


    640?wx_fmt=png


    作者:蒂莫西·C·乌尔单(Timothy C. Urdan)


    正是这本美好的书,开始了我在统计学世界的旅程。它完全是为初学者写的,总能吸引你回来以查找更多的内容,而且写作风格和解释内容恰到好处地呼应书名-白话统计学。你可以推荐这本书给任何一位非技术人员,他们应该能够掌握这些原理,因为它就是这么出色!


    《思考统计: 程序员的概率学和统计学


    http://greenteapress.com/thinkstats/thinkstats.pdf


    640?wx_fmt=png


    作者:艾伦·B·唐尼(Allen B. Downey)


    在大多数的数据科学书单中,你都可以发现这本书位列第一。这本书有大量的资源,点击上面链接,进入这本书的主页,你将看到数据文件、代码、解决方案等资料。对于已经了解Python基础知识的人来说,它是特别有用的,因为在这本书中,用来演示实例的正是python语言。


    《统计学习导论


    640?wx_fmt=jpeg


    作者:加雷思·詹姆斯(Gareth James), 达尼埃拉·威滕(Daniela Witten), 特雷弗·哈西蒂(Trevor Hastie)和 罗布·蒂布里亚尼(Robert Tibshirani)


    这是一本经典之作,大多数我看过的机器学习课程都推荐或引用了这本书,当然是因为它写的好的缘故。它涵盖了基础的统计学和机器学习技术,最棒的是,每个观点都会用R语言的案例分析来说明。一旦你学会编程,就来回反复验证每个观点,还有什么方法比多次练习能更好地巩固一个观点呢?


    概率学书籍


    《概率学:给热情的初学者


    https://www.amazon.in/Probability-Enthusiastic-Beginner-David-Morin/dp/1523318678


    640?wx_fmt=png


    作者:大卫·莫林(David Morin)


    这是一本针对初学者的完美书籍。这本书是为学院学生们而写的,所以,所有倾向于从零开始学习概率学的同学们都很会很欣赏这本书的写作方式。它涵盖了所有的基础内容-组合数学、概率学规则、贝叶斯定理、期望值、偏差、概率密度、常见概率分布、大数定律、中心极限定理、相关性和回归分析。


    概率学导论


    《概率学导论


    https://www.math.dartmouth.edu/~prob/prob/prob.pdf


    640?wx_fmt=png


    作者:J·劳里·斯内尔(J. Laurie Snell)和 查尔斯·米勒·格里斯(Charles Miller Grinstead)


    这是另一本入门级的书籍,涵盖了基础的概率学概念。像上本书一样,这本书是针对大学毕业生而写的,因而进行了详尽的文字描述。你可能会奇怪为什么我一直重复这一点,这是因为我想强调:总有一个地方是可以让我们从零开始学习的,它是一本为那些从未探索进入这个领域的学生而写的书。


    《概率论及其应用概论


    640?wx_fmt=jpeg


    作者:威廉·费勒(William Feller)


    正如这本书的描述所说的,它完全是一本关于概率论及其应用的入门指导书。如果你真的想深深地扎入概率学的世界,我推荐你读这本书,因为它是一本非常详细的教科书,但可能不符合一个初学者的口味。如果你学习概率学只是为了进入数据科学,你可以避开这本,只阅读上面提到的两本概率学书籍中的任意一本就好了。


    机器学习书籍


    《机器学习百页书》


    http://www.themlbook.com/


    640?wx_fmt=png


    作者:安德里·布尔科夫(Andriy Burkov)


    阅读了大量试图从不同的角度和观点来教授机器学习的书籍,我努力想要找寻能够一本能够简明地归纳费解的原理和方程式的书。直到安德里·布尔科夫用100多页设法做到了这点,我喜欢上了这本书。它写得很出色,易于理解,而且还有彼德·诺维格(Peter Norvig)等思想领袖为其背书。还需要我说更多吗?初学者也许已经成名,因此,每个数据科学家都应该拥有这本书。


    机器学习


    《机器学习


    https://www.amazon.in/Machine-Learning-Tom-M-Mitchell/dp/1259096955


    640?wx_fmt=png


    作者:汤姆·米切尔(Tom Mitchell)


    在所有机器学习书大肆宣传之前,汤姆·米切尔关于机器学习的书是理解各种技术和算法背后数学原理的首要选择。我会建议在拿起这本书之前先复习一下数学,但你并不需要有任何人工智能和统计学的背景来理解这些概念。它是我机器学习的第一本书! 它售价不高,因此它绝对值得加入你们的收藏。


    统计学学习要素


    《统计学学习要素


    https://web.stanford.edu/~hastie/Papers/ESLII.pdf


    作者:特雷弗·哈西蒂(Trevor Hastie),罗布·蒂布里亚尼(Robert Tibshirani)和 耶罗梅·弗里德曼(Jerome Friedman)


    现在我们回到哈西蒂和蒂布里亚尼的另一本经典!它是我们之前提到的《统计学习导论》自然续篇。尽管和那本书有一些重复,但这本书更进一步地分析了我们所说的机器学习算法。除了一般的机器学习技术,它还涵盖其他机器学习技术,诸如神经网络、矩阵分解法、谱聚类法这些内容。


    深度学习书籍


    《深度学习


    https://www.deeplearningbook.org/


    640?wx_fmt=jpeg


    作者:伊恩·古德费罗(Ian Goodfellow),义华·本焦(Yoshua Bengio)和阿伦·考维尔(Aaron Courville)


    这本书的作者们都是巨星级的!《深度学习》这本书被广泛地认为是初学者最好的学习资源。它分为三个章节:应用数学和机器学习基础、现代深度学习实践框架和深度学习研究。迄今为止,它是深度学习社区引用最多的一本书。床边放一本,膜拜它并经常查阅它 –无论什么时候你开始深度学习旅程,这种情形将一直伴随着你。


    《和Python一起深度学习


    https://www.amazon.com/Deep-Learning-Python-Francois-Chollet/dp/1617294438


    640?wx_fmt=png


    作者:弗朗索瓦·乔莱(Francois Chollet)


    通过编程和理论并行学习深度学习(或机器学习),真的很酷,这也是弗朗索瓦·乔莱在《和Python一起深度学习》书中所遵循的方法。常用的Keras库可以帮助你学习深度学习概念,而弗朗索瓦是Keras的创建者,所以,还会有谁比他更适合来教这个领域的知识呢?我也建议在推特上关注一下弗朗索瓦 – 那里有很多我们学习的东西。


    《神经网络和深度学习


    http://neuralnetworksanddeeplearning.com/


    640?wx_fmt=png


    作者:迈克尔·尼尔森(Michael Nielsen)


    这是一本免费的在线书籍,以帮助学习为深度学习赋能的核心组件 – 神经网络。我很喜欢这本书的写作方式,它采用一种实践的方式来教授基本概念,还从初学者的视角来看待深度学习的研究课题。在这本书里,你学不到任何一种编程语言,因为它是一本解释神经网络背后基础概念的教科书,偏老式风格但很好。


    自然语言处理(NLP)书籍


    《用Python自然语言处理


    https://www.nltk.org/book/


    640?wx_fmt=jpeg


    作者:斯蒂文·伯德(Steven Bird),伊旺·克莱恩(Ewan Klein)和 爱德华·洛珀(Edward Loper)


    这是另外一本坚持边做边学原则的书,你将学到一些在其他地方学不到的python概念知识,这样才能利用NLTK(Natural Language Toolkit自然语言工具)库在NLP(Natural Language Processing自然语言处理)的世界里畅游。尽管这本书不是你学习NLP唯一参考的资源(NLP太复杂了,不是一下能说清楚的),但它还是在这一课题上提供一个相当不错的介绍。


    《统计学自然语言处理基础


    https://www.cs.vassar.edu/~cs366/docs/Manning_Schuetze_StatisticalNLP.pdf


    640?wx_fmt=jpeg


    作者:克里斯多夫·曼宁(Christopher Manning)和 欣里奇·舒埃策(Hinrich Schutze)


    这本书已经出版了20年,依然能够作为一本优秀的自然语言处理入门书。它对NLP下广泛的子课题对非常详尽的指引,如文本分类、词性标注、概率句法分析和其它内容。作者在数学和语言的基础上对这些课题做了非常严谨而且十分详细的分析,我们要谨记这一点。


    《语音和语言处理


    https://web.stanford.edu/~jurafsky/slp3/ed3book.pdf


    640?wx_fmt=png


    作者:丹尼尔·尤拉夫斯基(Daniel Jurafsky)和 詹姆斯·H·马丁(James H. Martin)


    这本书着重介绍的是,自然语言和语音的实际应用和科学评估。我将这本书列入书单是为了开阔我们在文本处理以外的眼界 – 也来看一看语音识别。为什么不呢?每天都有不计其数的语音识别应用出现,可见,它是一个日益繁荣的研究领域。尤拉夫斯基和马丁合著的这本书是自然语言处理领域和计算机语言学非常有深度的一本书。同样,这也是一本大师们自己写的书。


    计算机视觉书籍


    《计算机视觉:算法和应用


    http://szeliski.org/Book/


    640?wx_fmt=png


    作者:理查德·谢利斯基(Richard Szeliski)


    这本书中探讨了很多常见的计算机视觉技术,尤其是那些用来分析和解析图像的技术。虽然这本书大在约九年前出版,但理查德·谢利斯基举例说明所用的例子和方法学在当今还是很实用的。它是一本教科书,详细介绍了如何采用科学方法来解决计算机视觉领域中的基本挑战。点击上面书名,就可以免费获得这本书的PDF版本。


    《用Python编程计算机视觉


    http://programmingcomputervision.com/


    640?wx_fmt=jpeg


    作者:扬·埃里克·索勒姆(Jan Erik Solem)


    在你探究这本令人惊叹的书之前,点击书名,进入网站,下载数据包、代码以及从Github目录上复制下来的资源库。这本书是一本真正具有实践指导意义的计算机视觉导论书,而这些丰富的学习资源则有助于你有效地阅读它,正如作者所说的,“当你练习这些用Python编写的例子时,你将学会一些技术如物体识别、3D重建、立体成像、增强现实和其它的计算机视觉应用。”


    《计算机视觉:建模,学习,和推理


    http://www.computervisionmodels.com/


    640?wx_fmt=jpeg


    作者:西蒙·J·D·普林斯博士(Dr. Simon J.D. Prince)


    这本书从最基本的概率学基本概念开始介绍,然后非常快地以此切入正题。尽管书里介绍的有些框架出现更新版本,但这本书在当今的大环境中还是有价值的。它介绍了70多个算法,而且完美地补充了350多个示例说明。如果你喜欢幻灯片的学习方式,那么请点击书名链接,进入网站下载。 


    人工智能书籍


    《人工智能:一种现代的方法


    http://aima.cs.berkeley.edu/


    640?wx_fmt=png


    作者:斯图尔特·罗素(Stuart Russell)和 彼德·诺维格(Peter Norvig)


    这是一本斯图尔特·罗素和彼德·诺维格写的书,是人工智能界首屈一指的好书,100多个国家、超过1300个高等学府在他们的课程中参考或引用了这本书。提到作者是谁,就不会惊讶于书的厚度 – 1100页,涵盖了人工智能的方方面面 – 语音识别、自动驾驶、机器翻译和计算机视觉等其他内容,这本书可以认为是人工智能界的圣经。


    《人工智能


    https://www.amazon.in/Artificial-Intelligence-Humans-Fundamental-Algorithms-ebook/dp/B00HAT0APE


    640?wx_fmt=png


    作者:杰夫·西顿(Jeff Heaton)


    人工智能的基本算法是什么?这本书打包了大量的技术知识,仅编成区区222页。这还只是人工智能技术系列书籍的第一卷(维度、距离度量、聚类、误差计算、爬山算法、内尔德·米德算法以及线性回归)。此外,还有一个伴生网站包含了这本书引用的范例和一个包含其代码的GitHub资源库。


    伴生网站:

    https://www.heatonresearch.com/aifh/vol1/

    GitHub资源库:

    https://github.com/jeffheaton/aifh


    《终极算法


    640?wx_fmt=png


    作者:佩德罗·多明戈斯(Pedro Domingos)


    如果你想找一本人工智能方面的技术书,这本不是。但它是什么呢?它用极具说服性的文字阐述了机器学习是如何改变商业、政治、科学和战争的书,是一本讨论人工智能现在在哪里以及未来可能带领人类去哪里的书,论证深入而且发人深省。我们将有可能找到有能力通过数据推进所有知识的唯一一个算法(或“主算法”)吗?加入佩德罗·多明戈斯的探索来一起找出答案。


    Python工具/语言书籍


    《流畅的Python:清晰、简练以及高效编程


    https://www.amazon.in/Fluent-Python-Concise-Effective-Programming-ebook/dp/B0131L3PW4


    640?wx_fmt=png


    作者:卢西亚诺·拉马尔霍(Luciano Ramalho)


    有很多资源可以用来学习Python,但是没有能够像这本优秀的教科书一样教你如何编程。就如你渴望从一本编程书上得到的一样,它是一本具有操作性的指导书,可以帮助你理解Python是如何工作的以及怎样写出精彩且高效的Python代码。卢西亚诺·拉马尔霍还网罗了一些流行的代码库,你会发现自己经常在数据科学项目中用到这些库。有足足794页的长度,这本书真是物有所值。


    《Python编程:强大的面向对象编程


    https://www.amazon.in/Programming-Python-4e-Mark-Lutz/dp/0596158106


    640?wx_fmt=png


    作者:马克·卢茨(Mark Lutz)


    如果你认为上本书已经教会你所有需要了解的Python知识,那么请再考虑考虑这部书。毕竟,Python是一个庞大的编程语言,还有很多其它内容没有覆盖。一旦你从上面那本卢西亚诺·拉马尔霍的书中掌握了基本原理,就可以来看看马克·卢茨的这本书。它在很多研究问题上都有深入详尽的教程:数据库、网络、文本处理和图形用户界面(GUIs)等等,书中有大量例子,是代码迷必须读的一本书。


    《数据科学Python手册


    640?wx_fmt=png


    作者:萨米尔·马达文(Samir Madhavan)


    目前为止,前面介绍的两本书都是从编程语言角度来学习Python,现在是时候从数据科学的角度来学习它了。哪些数据科学库正被普遍使用,并且怎么用?你如何能在Python中创建数据可视化并按图表挖掘数据?并且你如何能将高级的数据科学/机器学习技术编成代码从而建立数据模型?萨米尔·马达文在这本精心著作的书中回答了这些以及其他更多的问题。


    R工具/语言书籍


    《数据科学的R编程


    https://r4ds.had.co.nz/


    640?wx_fmt=jpeg


    作者:加勒特·格罗勒蒙德(Garrett Grolemund)和 哈德利·韦翰(Hadley Wickham)


    只要是稍稍听说过R编程的人都将会接触到哈德利·韦翰的成果,他在这个语言的成就是举世无双的 – 关于他我可以滔滔不绝,怎么极力推荐这本书都不为过。你将学会如何导入不同种类的数据进R和不同的数据结构以及如何转变、可视化与建模你的数据。因此,这是一本通过R编程学习数据科学的书,特别好。


    《大家来学R


    https://www.amazon.in/R-Everyone-Advanced-Analytics-Graphics/dp/9332539243


    640?wx_fmt=png


    作者:贾里德·兰德(Jared P. Lander)


    我在听说Python之前就已经学习R了,因此在我心中,它占据了一个特殊的位置,而贾里德·兰德的《大家来学R》在其中起了很大的作用。我从一个朋友那里得到了这本书,并且很快被它精彩的写作所吸引了。它声称是写给“大家”的,实至名归。如果你没有技术和统计学背景的话,这是一本很好的书。


    《R学习书


    https://www.amazon.in/Cookbook-Recipes-Analysis-Statistics-Graphics/dp/9350233797?tag=googinhydr18418-21&tag=googinkenshoo-21&ascsubtag=_k_EAIaIQobChMIqZ3q0uvy3wIV2SMrCh0M3w3nEAYYASABEgJmJ_D_BwE_k_&gclid=EAIaIQobChMIqZ3q0uvy3wIV2SMrCh0M3w3nEAYYASABEgJmJ_D_BwE


    640?wx_fmt=png


    作者:保罗·泰托(Paul Teetor)


    《R学习书》很好地完善了你的数据科学书单,它包含了200多个切实可行的小技巧来帮助你着手用R分析和操作数据,每个技巧都着眼于一个不同的问题。不管是学习新的编程技巧还是刷新你的观念,这本书适合每个人,因此,它对初学者、中级和高级专业人士有着同样的意义。


    正像前文承诺的一样,这里有一个完整的信息图表,包含了文章中所提及的所有书籍:


    640?wx_fmt=jpeg


    原文标题:

    27 Amazing Data Science Books Every Data Scientist should Read

    原文链接:

    https://www.analyticsvidhya.com/blog/2019/01/27-amazing-data-science-books-every-data-scientist-should-read/


    编辑:王菁

    校对:林亦霖


    译者简介

    640?wx_fmt=png

    季洋,苏州某IT公司技术总监,从业20年,现在主要负责Java项目的方案和管理工作。对大数据、数据挖掘和分析项目跃跃欲试却苦于没有机会和数据。目前正在摸索和学习中,也报了一些线上课程,希望对数据建模的应用场景有进一步的了解。不能成为巨人,只希望可以站在巨人的肩膀上了解数据科学这个有趣的世界。

    翻译组招募信息

    工作内容:需要一颗细致的心,将选取好的外文文章翻译成流畅的中文。如果你是数据科学/统计学/计算机类的留学生,或在海外从事相关工作,或对自己外语水平有信心的朋友欢迎加入翻译小组。

    你能得到:定期的翻译培训提高志愿者的翻译水平,提高对于数据科学前沿的认知,海外的朋友可以和国内技术应用发展保持联系,THU数据派产学研的背景为志愿者带来好的发展机遇。

    其他福利:来自于名企的数据科学工作者,北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。


    点击文末“阅读原文”加入数据派团队~

    转载须知

    如需转载,请在开篇显著位置注明作者和出处(转自:数据派ID:datapi),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。

    发布后请将链接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,我们将依法追究其法律责任。


    640?wx_fmt=jpeg640?wx_fmt=jpeg

    点击“阅读原文”拥抱组织

    展开全文
  • 作者:Jeremie Harris翻译:老齐译者注: 数据科学,方兴未艾,令很多人趋之若鹜...与本文有关的书籍推荐:我在SharpestMinds工作,浏览了很多数据科学职位的求职简历。平台有很好的反馈系统,能够收到发布招聘信息...

    76f02e7e2e6f3e2df3273202c4a09f35.gif

    作者:Jeremie Harris

    翻译:老齐

    译者注: 数据科学,方兴未艾,令很多人趋之若鹜。然而,当你的简历发出去之后,更多的是石沉大海,为什么?本文列举了其中的原因,供参考。同时,本文所列内容,也可以供其他专业求职者参考。招聘旺季在即,希望大家认真准备。

    与本文有关的书籍推荐:

    013ddc8fe9872d0b2a3d1f1d5d768a00.png

    我在SharpestMinds工作,浏览了很多数据科学职位的求职简历。

    平台有很好的反馈系统,能够收到发布招聘信息的公司反馈,这些信息涉及公司是否邀请面试、是否雇佣应聘者,还包括公司确定面试或雇佣应聘者的原因。

    由此就知道了成百上千家公司的决策过程,我也就知晓能够让雇主认可的简历应该是什么样子的,以及糟糕的简历形式。

    警告:每家公司的选择标准都不同,谷歌雇佣你的原因在其它公司可能奏效,也可能无效(甚至可能是毫无意义的)。因此,建立一份“完美”的通用数据科学简历几乎是不可能的。

    尽管如此,我们已经看到了一些明显的错误,这些错误使你的申请在很大程度上不会被考虑:

    1. 简历上过于琐碎的项目

    在你所强调的个人项目中突出显示你在琐碎的概念验证数据集上所做的工作,这样做只会使你的简历被“坚决拒绝”。

    如果你对此有异议,就看看以下所列,这些对你的伤害大于帮助:

    • 泰坦尼克号数据集的幸存者分类。
    • MNIST数据集的手写数字分类。
    • 利用鸢尾花数据集进行分类。

    译者注: 这些是学习的项目,而不是应该写在简历上炫耀的项目。

    为什么这样的简历对你不利

    简历的篇幅有限。应聘者知道,招聘人员也知道。因此,如果像MNIST这样的“学习用数据集”占用了一些宝贵的空间,它会在招聘人员的脑海中引发这样的问题:你在数据科学的职业中到底能走多远。

    应对之策

    如果你的简历中有这类项目,就说明你没有其他更具挑战性和实用性的项目来取代它们。这是一个强烈的信号,你需要花一些时间来认真地建立你的代表项目。

    当然,如果你确实有其他更有趣的项目要展示,那么你肯定想用他们来换掉前边提到的项目。

    例外

    使用已经世人皆知的数据集(如MNIST或Titanic数据集)完全可以构建复杂的项目。如果你在玩一种你发明的新型GAN,或者你在粘贴貌似有价值的胶囊网络论文,那就去做吧。

    但请记住,大多数招聘人员对技术一窍不通,他们通常只会查找关键词,因此你必须非常清楚地表明,你的MNIST项目涉及的不仅仅是琐碎的数字分类任务。

    cfda91443d4e6903a9b0977ca5c8eb63.png

    2.在你的项目中列出Udacity或Coursera的项目

    在Udacity、Coursera和deep learning.ai这样的慕课平台上,有很多关于深度学习和数据科学的课程,用它们来学习,是一种非常好的方式。话虽如此,如果简历中所展示的全部内容只有这些学习结果,许多公司仍然会对应聘者的资质持怀疑态度。

    下列情况一定要避免:

    • 把一个在很大程度上由你自己完成的项目作为所学习的纳米学位或项目的一部分
    • 过于突显你在慕课平台上的学习,甚至把它作为简历上第一个与数据科学相关的部分。

    为什么这样的简历对你不利

    所有公司都会有点自负,公司都说他们只雇佣“非常特别的人”,或者“前1%的申请人”,等等。因为现在有很多人获得了慕课证书,招聘人员很容易把你定型为又一个Udacity毕业生,这让你听起来不那么特别。

    招聘人员现在对许多慕课已经很熟悉了,能够立即识别出标准纳米学位或慕课的项目(例如,Udacity的交通标志分类任务非常重要,甚至有点有趣,但它出现在了太多的简历中)。为了听起来特别,你需要关注那些没有被用烂了的问题。

    应对之策

    一旦你完成了你的课程或纳米学位,就会想自己干一票,可以参加Kaggle竞赛,或者验证数据科学文献中一些有趣论文的结果。

    这一点很重要,因为它:1)让你看起来更独特;2)让你在面试中展示和讨论最前沿的作品;3)表明你有能力独立自主地学习(不用别人支持!)。

    例外

    这条规则的一个例外是,你可能已经完成了慕课中的某个项目,并且此项目是独特的。我所说的独特,是指你可以自由选择你想要的数据集,并且可以在很大程度上靠你自己解决问题。因为这其实和你自己去做一个小项目没有什么不同,所以不太可能给你带来不利影响。

    6492b97f9712847d96b4327deee0bbca.png

    3. 缺少版本控制、程序开发或数据库技能

    简历中如果缺少以下技能,肯定是致命的:

    • 版本控制(例如GitHub/GitLab)
    • 开发能力(如AWS/Floydhub/Digital Ocean/Flask)
    • 数据库操作(例如mySQL/mongoDB)

    为什么这样的简历对你不利

    让人们对数据科学感兴趣的往往是算法,用神经网络或者增强的决策树来解决问题的想法很有趣。

    因此,大多数人把时间和经历投入到这方面,但问题是,模型设计与面向生产的深度学习或数据科学不是一回事。

    数据科学中不那么有趣的部分(如:配置服务器、数据清理等)实际上肯定会成为数据科学家日常工作的主要部分。而现实情况是,仅仅精通Python/sklearn/TensorFlow/Keras/PyTorch是远远不够的。

    如果简历中不包括前面所说的那些基本技能,就容易被那些寻找关键词的招聘人员忽略,他们更感兴趣的是找到一个说“不”的理由,而不是一个说“可能”的理由。

    没有GitHub?没有mongo?这样的简历只能被抛弃。

    应对之策

    如果你有这些技能,但你的简历上没有列出,太可惜了,应该写上。如果你对版本控制、软件开发和数据库工具没有任何经验,你需要学习。不仅因为它在简历上看起来不错,还因为它是你作为一名数据科学家必备的技能之一。

    例外

    如果你申请的是更高级的职位,那么列出这些技能就不那么重要了,因为招聘人员会认为你已经具备了数据科学常用工具方面的经验。

    3ea33ec3d9b92201fb76c23899dccafb.png

    4.没有从你所做的项目中学到任何东西

    在简历上写的项目,如果面试的话,很有可能会被问到。

    如果面试官问你在某个项目上学到了什么,“学到的不多,真的”,这不是正确的答案。

    为什么这样的简历对你不利

    既然你花了时间去做一个项目,那么关于你从中学到了什么的问题会让面试官了解你思考问题的深度和沟通技巧。

    即使是一个相当简单的数据集也不太可能没有什么可以教给您的,因此从一个项目中退出并不会引起严重的危险信号。

    应对之策

    如果你在简历上列出了一个项目,并且你获得了一个公司的面试机会,那么就要准备一些观点。对于没有使用过你在该项目中所处理的数据集的人来说,你要做到语出惊人。

    例外

    没有,真的。如果你在简历上写了一个项目,你真的应该对这个项目有一些心得。

    额外的不利因素:错别字

    好吧,这一点不是数据科学方面的具体问题,但我们确实惊讶地发现了打字错误与面试时的表现之间的关联是多么密切。一直以来,那些简历上有错误(不管是拼写错误,还是格式草率)的人都比那些没有错误的人表现得差。

    打字错误是一个很好的非强迫性错误的例子。无论你的经验水平如何,你都不应该犯这种错误。客观地说,它们导致了较低的面试转化率。

    为什么这样的简历对你不利

    毫不奇怪的是,对简历细节的关注与对项目细节和技术开发的关注是相关的,而且被认为是相关的。

    应对之策

    让一位以英语为母语(译者注: 如果是汉语简历,就要找个中文水平较好的朋友)并且注意细节的朋友审阅你的简历。如果有必要,承诺如果你被聘用,给他们50美元。这样做只是为了激励他们去抓住任何不合适的小细节。

    例外情

    就不应该有例外!

    原文链接:https://towardsdatascience.com/the-4-fastest-ways-not-to-get-hired-as-a-data-scientist-565b42bd011e

    关注微信公众号:老齐教室。读深度文章,得精湛技艺,享绚丽人生。

    d3505dea4787d94a59b564b723409f96.png

    麻烦点一下“在看”,谢谢?
    展开全文
  • 目前,数据科学家正在受到很多关注,因此,有关数据科学的书籍正在激增。在寻找关于空间的好书时,在我看来,他们中的大多数更多地关注工具和技术,而不是数据科学过程的细微问题解决性质。直到我遇到Brian Godsey的...

    介绍

    目前,数据科学家正在受到很多关注,因此,有关数据科学的书籍正在激增。在寻找关于空间的好书时,在我看来,他们中的大多数更多地关注工具和技术,而不是数据科学过程的细微问题解决性质。直到我遇到Brian Godsey的“ 像数据科学家一样思考 ” - 它试图引导有抱负的数据科学家通过这个过程作为一条有许多叉子和潜在未知目的地的道路。它讨论了哪些工具最有用,以及为什么,但主要目标是在智能,高效和成功的情况下导航数据科学过程,以实现解决实际数据中心问题的实际解决方案。

     

    数据科学项目的生命周期

    在本书中,Brian提出数据科学项目包括3个阶段:

    • 第一阶段是准备阶段 - 在项目开始时收集信息所花费的时间和精力可以在以后节省大量的麻烦。
    • 第二阶段是构建产品,从规划到执行,使用您在准备阶段学到的知识以及统计和软件可以提供的所有工具。
    • 第三阶段也是最后阶段即将完成 - 交付产品,获得反馈,进行修订,支持产品以及完成项目。

    从图像中可以看出,这3个阶段包含12个不同的任务。我想用这篇文章总结这12个步骤,因为我相信任何有抱负的数据科学家都可以从熟悉它们中受益。

     

    第一阶段 - 准备

    数据科学的过程始于准备。你需要建立你所知道的,你拥有的,你能得到什么,你在哪里,以及你想成为什么样的人。最后一个是最重要的; 数据科学项目需要有目的和相应的目标。只有当您有明确的目标时,才能开始调查可用资源以及实现这些目标的所有可能性。

    1 - 设定目标

    在数据科学项目中,与许多其他领域一样,主要目标应在项目开始时设定。在设定目标后,您所做的所有工作都是利用数据,统计数据和编程来实现这些目标。

    首先,数据科学的每个项目都有一个客户。有时,客户是向您或您的企业支付费用的人 - 例如,客户或承包代理商。在学术界,客户可能是一位要求您分析数据的实验室科学家。有时,客户是您,您的老板或其他同事。无论客户是谁,他们都会对他们可能从您那里得到的东西抱有一些期望,他们是获得该项目的数据科学家。

    为了理解这些期望,您需要对他们的数据提出好的问题。提出能够提供信息性答案并随后改进结果的问题是一项重要且微妙的挑战,值得进行更多的讨论而不是通常的讨论。好的问题在他们的假设中是具体的,好的答案是可衡量的成功而没有太多的成本。从数据科学项目中获得答案通常看起来像下面的公式或配方。

    虽然有时候其中一个要素 - 好问题,相关数据或富有洞察力的分析 - 比其他成分更容易获得,但这三者对于获得有用的答案至关重要。任何旧问题,数据和分析的产品并不总是一个答案,更不是一个有用的答案。值得重复的是,您始终需要在项目的每个步骤中都要刻意和深思熟虑,并且此公式的元素不是例外。例如,如果您有一个好问题但不相关的数据,则很难找到答案。

    现在是在您期望与之合作的问题,数据和答案的背景下评估项目目标的好时机。通常,初始目标的设定考虑了一些商业目的。如果您不从事商业活动 - 例如您正在进行研究 - 那么目的通常是对结果进行一些外部使用,例如在特定领域中推进科学知识或为其他人提供分析工具。

    虽然目标源于项目本身的背景,但每个目标都应该通过基于数据科学的实用过滤器来实现。此过滤器包括提出以下问题:(1)有什么可能?(2)什么是有价值的?(3)什么是有效的?将此过滤器应用于良好问题,可能的答案,可用数据和预见障碍的上下文中的所有假设目标,可以帮助您实现一系列可行,有效,有价值且高效的项目目标。

     

    2 - 探索数据

    数据科学过程准备阶段的第二步是探索现有数据。下图显示了数据科学家可能访问数据的3种基本方式。它可以是文件系统的文件,数据科学家可以将文件读入他们最喜欢的分析工具中。或者数据可以在数据库中数据库也在文件系统上,但是为了访问数据,数据科学家必须使用数据库的接口,这是一个帮助存储和提取数据的软件层。最后,数据可能位于应用程序编程接口(API)之后API是数据科学家与某些系统之间的软件层,可能是完全未知的或外来的。

    最好熟悉数据可能采用的一些表单,以及如何查看和操作这些表单。以下是其中一些:平面文件(csv,tsv),HTML,XML,JSON,关系数据库,非关系数据库,API。有时您无法决定选择哪种格式。数据以某种格式出现,您必须处理它。但是,如果您发现该格式效率低下,笨拙或不受欢迎,您通常可以自由设置可能使事情变得更容易的辅助数据存储,但需要花费时间和精力来设置辅助数据商店。对于访问效率至关重要的应用程序,成本是值得的。对于较小的项目,也许不是。当你到达那里时,你必须越过那座桥。

    现在您已经了解了常见的数据形式,您需要对它们进行侦察。以下是您应该考虑的方法:Google搜索,组合不同的数据源,抓取网络,或自己测量/收集它们。就个人而言,我是网络抓取的忠实粉丝。Web scraper必须做的两件重要事情是以编程方式访问大量URL并从页面中捕获正确的信息。如果你想在Facebook上了解你的朋友网络,理论上你可以编写一个脚本来访问所有朋友的Facebook个人资料,保存个人资料页面,然后解析这些页面以获取他们的朋友列表,访问他们的朋友配置文件,等等。这仅适用于允许您查看其个人资料和朋友列表的人,而不适用于私人个人资料。

     

    3 - 噪声数据

    数据噪声,第三步,是以困难,非结构化或其他任意格式获取数据和信息并将其转换为传统软件可以使用的内容的过程。与数据科学的许多方面一样,它不是一个过程,而是一个可以在整个项目策略的环境中应用的策略和技术的集合。争吵不是一项任务,可以事先准确地规定步骤。每个案例都不同,需要解决一些问题才能取得好成绩。

    在噪声之前,好的争论归结为可靠的计划,然后进行一些猜测和检查以确定哪些有效。花一点时间进行数据噪声可以为您节省很多痛苦。通常,数据噪声计划的选择应在很大程度上取决于您在首次调查数据时发现的所有信息。如果您可以想象解析数据或以某种假设的方式访问它 - 我尝试扮演噪声脚本的角色 - 那么您可以编写一个执行相同操作的脚本。假装你是一个噪声的脚本,想象你的数据会发生什么,然后再编写脚本。数据噪声是一个不确定的过程,总是最好先探索一下,然后根据你所看到的内容制定争吵计划。

    没有一种方法或一种工具可以实现使混乱数据清洁的目标。如果有人告诉你他们有一个可以纠缠任何数据的工具,那么该工具是一种编程语言,或者他们在撒谎。许多工具都适用于做很多事情,但没有一个工具能够处理任意数据。数据以如此多的形式存在,并且出于如此多的目的,很可能不存在任何能够以任意目的读取任意数据的应用程序。简而言之,数据噪声是一个不确定的事情,需要在特定情况下使用特定工具来完成工作。您可以尝试使用文件格式转换器或专有数据管理器,并编写脚本来处理数据。

     

    4 - 评估数据

    尽快开始开发以数据为中心的产品或复杂的统计方法可能很诱人,但了解数据的好处值得花费一点时间和精力。如果您对数据有了更多了解 - 如果您保持对它的了解以及如何分析它 - 您将在整个数据科学项目的每个步骤做出更明智的决策,并在以后获得收益。如果没有初步评估(第4步),您可能会遇到异常值,偏差,精确度,特异性或数据的任何其他固有方面的问题。为了更好地发现这些数据并更好地了解数据,后期争论数据分析的第一步是计算一些描述性统计数据。

    描述性统计是定量描述信息集合的主要特征或定量描述本身的学科。想一想数据集的描述,最大值,最小值,平均值,摘要。如果不提及推论统计数据,通常很难讨论描述性统计数据。推论统计是使用您必须推断 - 或推断 - 您没有直接测量或数据的知识或数量的数据的做法。对于数据集,您可以说以下内容:

    • 描述性统计数据问:“我有什么?”
    • 推论统计数据问:“我能得出什么结论?”

    大多数统计学家和商人都同意这需要推论统计数据来得出大部分很酷的结论:当世界人口达到峰值然后开始下降时,病毒式流行病的传播速度有多快,当股市上涨时,人们是否会在Twitter上对某个主题有一般积极或消极的情绪,等等。但描述性统计在使这些结论成为可能方面起着非常重要的作用。了解您拥有的数据以及它可以为您做些什么是值得的。

    使用描述性统计信息,您可以在数据集中找到与特定概念描述匹配的实体。如果您从事在线零售业务,您可能会将客户视为您的主要实体,并且您可能希望识别那些可能购买新视频游戏系统或特定作者新书的人。如果您正在从事广告工作,那么您可能正在寻找最有可能回应特定广告的人。如果你在金融领域工作,你可能会在股票市场上寻找即将上涨的股票。如果可以对这些特征进行简单搜索,那么工作就很容易,您不需要数据科学或统计数据。但是,虽然这些特征并不是数据中固有的(你能想象一只股票可以告诉你什么时候它会上涨吗?),你经常可以在看到它们时认出它们,至少在回想起时。此类数据科学项目的主要挑战是创建一种及时发现这些有趣实体的方法。

     

    第二阶段 - 建设

    在询问了一些问题并设定了一些目标后,您调查了数据世界,争论了一些具体数据,并了解了这些数据。在每一步中,您都学到了一些东西,现在您已经能够回答在项目开始时提出的一些问题。现在让我们进入建设阶段。

    5 - 发展计划

    第五步是制定计划。与早期的规划阶段一样,不确定性和灵活路径应该是您的首要考虑因素。你现在对你的项目了解得更多,所以之前存在的一些不确定因素已不复存在,但某些新的不确定因素已经出现。将您的计划视为通过一个城市的试验性路线,这个城市的街道正在不断建设中。你知道你想去哪里以及去往那里的几种方法,但是在每个十字路口都可能有道路封闭,交通不畅或人行道坍塌和破碎。当你遇到这些障碍时,你必须做出决定,但是现在只需要一两个备份计划就足够了。

    给定新信息或新约束或任何其他原因,计划和目标可随时改变。您必须向与项目有关的每个人(包括客户)传达重大更改。该项目的客户显然对项目的最终产品应具有既得利益 - 否则项目将不存在 - 因此应该让客户了解目标的任何变化。因为大多数客户都希望了解情况,所以通常建议您告知他们您的计划,无论新旧,您将如何实现这些目标。客户可能也对进度报告感兴趣,包括您到目前为止的初步结果以及如何获得这些结果,但这些都是最低优先级。

    关注客户关心的事情:取得了进展,目前预期的,可实现的目标是X,Y和Z.他们可能有问题,这很好,他们可能有兴趣听取项目的所有方面,但根据我的经验,大多数不是。在此阶段与客户会面的唯一必须结论是,您清楚地沟通新目标是什么以及他们批准这些目标。其他一切都是可选的。

    您也可以考虑将您的基本计划传达给客户,特别是如果您使用他们的任何资源来完成项目。他们可能有您尚未体验过的建议,建议或其他领域知识。如果涉及他们的资源,例如数据库,计算机和其他员工,那么他们肯定会有兴趣了解您将如何以及使用它们的程度。

     

    6 - 分析数据

    数据科学过程的第六步是数据的统计分析。统计方法通常被认为是进行良好数据科学所需技能和知识的近一半,或至少三分之一。另一个重要的部分是软件开发和/或应用程序,剩下的较小部分是主题或领域专业知识。

    统计学的一方面是数学,另一方面是数据。数学 - 尤其是应用数学 - 通过一组工具提供统计数据,以便进行分析和解释。无论如何,数学通常不会触及现实世界。完全基于逻辑并始终 - 始终 - 从一组假设开始,数学必须首先假设它可以在开始描述它之前描述的世界。每个数学陈述都可以用if开头(如果假设是真的),这可以将语句及其结论提升为抽象性。这并不是说数学在现实世界中没用; 恰恰相反。数学而不是科学,更多的是我们可以用来描述事物的词汇。其中一些可能在现实世界中。与词汇表及其包含的单词一样,很少有描述完全正确。

    然而,数学确实提供了统计使用的大量重型机械。统计分布通常由复杂的方程式描述,其根源在实际的科学意义上是有意义的。拟合统计模型通常使用数学优化技术。即使假设项目数据所在的空间也必须用数学方法描述,即使描述仅仅是“N维欧几里德空间”。

    除数学外,统计学还拥有自己的一套主要以数据为中心的技术。

    • 描述性统计是一种通常直观或简单的统计数据,可以提供对数据的良好概述,而不会过于复杂或难以理解。在某种意义上,描述性统计通常与数据保持接近。
    • 推论统计本质上是从数据中删除的一个或多个步骤。推断是基于可测量的相关量来估计未知量的过程。通常,推论统计涉及定义数量,可测量和不可测量以及它们彼此之间关系的统计模型。推论统计的方法可以从简单到复杂,也可以在精度,抽象性和可解释性方面有所不同。

    统计建模是使用统计结构描述系统然后使用该模型来帮助分析和解释与系统相关的数据的一般实践。描述性和推论性统计都依赖于统计模型,但在某些情况下,模型本身的明确构造和解释起次要作用。

    通过统计建模,主要关注的是理解模型及其描述的底层系统。数学建模是一个相关的概念,它更强调模型的构建和解释,而不是它与数据的关系。统计建模侧重于模型与数据的关系。以下是您应该了解的统计建模中的一些重要概念:

    • 线性,指数,多项式,样条,微分,非线性方程。
    • 潜在变量。
    • 量化不确定性:随机性,方差和误差项。
    • 拟合模型:最大似然估计,最大后验估计,预期最大化,变分贝叶斯,马尔可夫链蒙特卡罗,过拟合。
    • 贝叶斯与频率统计。
    • 假设检验。
    • 聚类
    • 成分分析。

    离原始数据最远的是一组统计技术,通常称为黑盒方法,无论好坏。术语黑盒指的是一些统计方法具有如此多的相互之间复杂关系的移动部分的想法,因为它被应用于特定上下文中的特定数据,因此几乎不可能剖析方法本身。机器学习和人工智能的许多方法都符合这种描述。如果您尝试将出现在数据集中的个体分类为几个类别中的一个,并且您应用机器学习技术(例如随机森林或神经网络),事后通常很难说为什么某个人是以某种方式分类。数据进入黑匣子,分类出来了,你通常不确定两者之间究竟发生了什么。

    • 随机森林
    • 支持向量机
    • 推进
    • 神经网络
    • 深度学习

     

    7 - 工程产品

    我们的下一步是建立统计软件。如果统计是分析和从数据中得出结论的框架,那么软件就是将这个框架付诸行动的工具。除了没有,数据科学家必须为任何项目做出许多软件选择。如果你有一个喜欢的节目,这通常是一个很好的选择,如果没有其他原因比你熟悉它。但是有充分的理由去挑选别的东西。或者,如果您是数据科学或统计软件的新手,那么很难找到一个起点。

    对于花费大量时间使用Microsoft Excel或其他电子表格应用程序,电子表格和基于GUI的应用程序的任何人通常是执行任何类型的数据分析的首选。特别是如果数据是表格形式的,例如CSV,并且数据不是太多,那么在电子表格中开始分析就很容易了。此外,如果您需要进行的计算并不复杂,电子表格甚至可以涵盖项目的所有软件需求。这里常用的软件工具包括Excel,SPSS,Stata,SAS和Minitab。学习这些中级工具之一的编程语言可以是学习真正的编程语言的一个很好的一步,如果这是你的目标。这些语言本身非常有用。特别是SAS在统计行业中拥有广泛的追随者,学习它的语言本身就是一个合理的目标。

    编程语言比中级统计应用程序更加通用。任何流行语言的代码都有可能做任何事情。这些语言可以在任何机器上执行任意数量的指令,可以通过API与其他软件服务交互,并且可以包含在脚本和其他软件中。与其父申请相关的语言在这些能力方面受到严重限制。

    MATLAB是一种专有的软件环境和编程语言,擅长使用矩阵。MATLAB的成本相当高,但学生和其他大学附属人员可享受大幅折扣。有些人决定在一个名为Octave的开源项目中复制它。随着Octave的成熟,它在可用功能和功能方面越来越接近MATLAB。除了使用附加软件包(也就是工具箱)的代码之外,用MATLAB编写的绝大多数代码都可以在Octave中工作,反之亦然,如果你发现自己有一些MATLAB代码但没有许可证,这很好。

    总的来说,MATLAB和Octave非常适合在信号处理,通信,图像处理和优化等方面使用大型矩阵的工程师(特别是电气工程师)。

    [R基于贝尔实验室创建的S编程语言。它是开源的,但它的许可证比Python和Java等其他流行语言更具限制性,特别是如果你正在构建商业软件产品。与MATLAB相比,R中更容易加载和处理不同类型的数据。MATLAB擅长处理表格数据,但一般来说,对于带有标题,混合列类型(整数,小数,字符串等),JSON和数据库查询的表,R更好。当读取表格数据时,R倾向于默认返回类型数据框的对象。数据框是包含列中数据的通用对象,其中每列可以是不同的数据类型 - 例如,数字,字符串或甚至矩阵 - 但每列中的所有条目必须相同。

    R是开源的一个优点是开发人员可以更容易地在他们认为合适的地方为语言和包开发做出贡献。这些开源贡献帮助R大幅增长并扩展了与其他软件工具的兼容性。CRAN网站提供了数以千计的R套餐。这是R语言的最大优势; 您可以找到一个帮助您执行您想要进行的分析类型的软件包,因此已经为您完成了一些工作。MATLAB也有包,但不是很多,尽管它们通常非常好。R有好的和坏的以及介于两者之间的一切。您还会发现大量的R代码可以在公共回购中免费获得,但可能没有达到官方包状态。

    总体而言,对于统计学家和其他追求数据繁重的探索性工作而不是在分析软件行业中构建生产软件的人来说,R是一个不错的选择。

    Python是一种功能强大的语言,可用于编写脚本和创建生产软件。它更适合非统计任务,例如与其他软件服务集成,创建API和Web服务以及构建应用程序。可能因为Python最初是一种通用编程语言,它有一个强大的面向对象设计框架。

    尽管Python最初并不是一种高度统计的语言,但已经为Python开发了几个软件包,以提升它与R和MATLAB的竞争。在使用向量,数组和矩阵时,数值方法的numpy包是必不可少的。软件包scipyscikit-learn在优化,集成,集群,回归,分类和机器学习等技术中添加了功能。使用这三个软件包,Python可以与R和MATLAB的核心功能相媲美,在某些领域,例如机器学习,Python似乎在数据科学家中更受欢迎。对于数据处理,包pandas已经变得非常受欢迎。它在某种程度上受到R中数据框架概念的影​​响,但从那时起就超过了功能上的数据框架。如果您的数据集足够大,可以减慢计算速度,但又足够小,以适应计算机的内存,那么大熊猫可能适合您。

    然而,数据科学中最着名的Python包之一是自然语言工具包(NLTK)。它是自然语言处理(NLP)中最受欢迎和最强大的工具。如今,如果有人正在解析和分析来自Twitter,新闻源,安然电子邮件语料库或其他地方的文本,那么很可能他们已经使用NLTK这样做了。它利用其他NLP工具(如WordNet)和各种标记化和词干提取方法,在一个地方提供最全面的NLP功能。

    总的来说,Python非常适合那些想要做一些数据科学以及其他一些纯粹的非统计软件开发的人。它是唯一能够做得很好的流行,强大的语言。

    虽然Java不是脚本语言,因此不适合探索性数据科学,但Java是软件应用程序开发中最着名的语言之一,因此它经常用于分析应用程序开发。使Java不利于探索性数据科学的许多相同原因使其有利于应用程序开发。

    Java对于探索性数据科学来说并不是很好,但它对于基于数据科学的大规模或生产代码来说非常有用。Java有许多统计库,可用于从优化到机器学习。其中许多都是由Apache Software Foundation提供和支持的。

    在选择统计软件工具时,请牢记以下标准:

    • 实现了方法:如果你使用的是一种相当常见的方法,那么许多工具可能已经有了实现,并且最好使用其中一种。与您在一天中编写并仅使用一次或两次的某些代码相比,已经被许多人使用的代码通常相对没有错误。
    • 灵活性:除了能够执行您想要的主要统计分析之外,如果统计工具可以执行一些相关方法,通常也会有所帮助。通常你会发现你选择的方法并不像你希望的那样好,而且你在这个过程中学到的东西会让你相信一种不同的方法可能会更好。如果您的软件工具没有任何替代方案,那么您可能会遇到第一个选择,或者您必须切换到另一个工具。
    • 信息:一些统计工具,特别是统计编程语言等高级工具,提供了查看几乎所有统计方法和结果的能力,甚至是机器学习等黑盒方法。这些内部并不总是用户友好,但至少它们是可用的。
    • 共性:使用软件,更多人使用工具意味着更多人尝试过,获得结果,检查结果,并可能报告他们遇到的问题,如果有的话。通过这种方式,软件,特别是开源软件,具有反馈循环,以合理及时的方式修复错误和问题。参与此反馈循环的人越多,一个软件相对没有bug并且更强大的可能性就越大。
    • 良好的文档:除了常用之外,统计软件工具应该有全面而有用的文档。如果您无法找到一些重要问题的答案,例如如何配置进行线性回归的输入或如何格式化机器学习功能,这是一个不好的迹象。如果大问题的答案不在文档中,那么找到你将来不可避免地遇到的更具体问题的答案会更加困难。
    • 专门构建:某些软件工具或其软件包是为特定目的而构建的,之后又添加了其他功能。例如,MATLAB和R中的矩阵代数例程在构建语言时是主要关注的问题,因此可以安全地假设它们是全面且健壮的。相比之下,矩阵代数在初始版本的Python和Java中并不是主要关注的问题,因此这些功能稍后以包和库的形式添加。
    • 互操作性:如果您正在使用数据库,使用可以直接与数据库交互的工具会很有帮助。如果您要根据结果构建Web应用程序,则可能需要选择支持Web框架的工具 - 或者至少可以使用JSON或其他一些Web友好格式导出数据的工具。或者,如果您将在各种类型的计算机上使用统计工具,那么您将希望该软件能够在各种操作系统上运行。将统计软件方法集成到完全不同的语言或工具中并不罕见。
    • 许可许可:如果您将商业软件用于商业目的,那么使用学术或学生许可这样做具有法律风险。将商业软件(无论是否经过修改)出售给其他人而不确认许可证不会禁止此类软件也是危险的。

     

    8 - 优化数据

    我们流程的第8步是使用补充软件优化产品。我们的第7步中的软件工具可以是多功能的,但它们本质上是统计的。软件可以做的不仅仅是统计。特别是,有许多工具可用于有效地存储,管理和移动数据。有些人可以使计算和分析的几乎每个方面都更快更容易管理。这里有4种流行的软件,可以使您作为数据科学家的工作更轻松。

    数据库很常见,在项目期间运行数据库的可能性相当高,特别是如果您要经常使用其他人使用的数据。但是,当然不是仅仅碰到一个,而是自己建立一个数据库来帮助你完成项目。最常见的两种类型是关系型(SQL)和面向文档型(NoSQL,ElasticSearch)。与将数据存储在计算机的文件系统上相比,数据库和其他相关类型的数据存储具有许多优势。大多数情况下,数据库可以通过查询提供对数据的任意访问 - 比文件系统更快,并且它们还可以通过冗余方式扩展到大尺寸,方便的方式可以优于文件系统扩展。

    高性能计算(HPC)是一个通用术语,适用于需要进行大量计算并且您希望尽可能快地完成计算的情况。您可以使用超级计算机(比个人计算机快数百万倍),计算机集群(一组计算机彼此连接,通常通过本地网络,并配置为在执行计算时彼此协同工作任务)或图形处理单元(它们非常适合执行高度可并行化的计算)。如果您有权访问,那么HPC是等待PC计算所有需要计算的东西的好选择。使用云HPC产品的好处 - 以及一些功能非常强大的机器 - 必须在您选择之前与货币成本进行权衡。

    最大的云服务提供商主要是大型科技公司,其核心业务是其他的。亚马逊,谷歌和微软等公司在向公众开放之前已经拥有大量的计算和存储资源。但他们并不总是将资源用于最大容量,因此他们决定出租剩余产能并扩大总产能,结果证明这是一系列有利可图的商业决策。提供的服务通常大致相当于个人计算机,计算机集群或本地网络的功能。所有这些都可以在世界各地的地理区域中获得,可通过在线连接和标准连接协议访问,通常还可以通过Web浏览器界面访问。如果您没有足够的资源来充分满足您的数据科学需求,

    最后,您可以尝试大数据技术:Hadoop,HBase和Hive等。大数据技术的设计不是为了移动数据。当数据集处于设计技术的非常大的规模时,这节省了时间和金钱。每当计算任务受数据传输限制时,大数据可以提高效率。但是,与本章中描述的其他技术相比,大数据软件需要花费一些精力来运行您的软件。只有当你有时间和资源来摆弄软件及其配置时,你应该实现飞跃,如果你几乎可以肯定你会从中获得可观的收益。

     

    9 - 执行计划

    构建阶段的最后一步是执行产品的构建计划。大多数软件工程师可能熟悉构建复杂软件的试验和磨难,但他们可能不熟悉构建处理可疑质量数据的软件的难度。另一方面,统计学家知道拥有脏数据是什么样的,但可能没有多少经验来构建更高质量的软件。同样,与项目有关的不同角色的个人,每个人可能拥有各种经验和培训,他们会期待并为不同的事情做好准备。

    • 如果你是一名统计学家,你就会知道肮脏的数据,而且你知道偏见和夸大结果的重要性。另一方面,您可能没有太多经验来构建业务软件,特别是生产软件。您应该咨询具有实践经验的软件工程师,以了解如何提高软件的稳健性。
    • 如果您是软件工程师,您就知道开发生命周期是什么样的,并且您知道如何在部署和交付之前测试软件。但您可能不了解数据,无论您在软件设计和开发方面有多好,数据最终都会以您从未想过的方式破坏您的应用程序。这需要在构建软件时采用新的思维模式以及对错误和错误的新容忍度,因为它们会更频繁地发生。您应该咨询精通预测和处理有问题数据的统计人员,例如异常值,缺失值和损坏的值。
    • 如果你刚开始从事数据科学,没有太多的统计学或软件工程经验,那么有经验的人可以给你一些可靠的建议,如果你能向他们解释你的项目和你的目标。作为一个初学者,你在这个过程的阶段有双重职责来弥补经验的不足。
    • 如果您只是该项目目的的一个团队成员,那么沟通和协调是至关重要的。您不必了解团队中发生的所有事情,但有必要明确目标和期望,并确保有人管理整个团队。

    该计划应包含多个路径和选项,所有这些都取决于项目的结果,目标和期限。无论计划有多好,随着项目的进展,总有可能对其进行修订。即使您考虑到所有不确定因素并且意识到每一种可能的结果,计划范围之外的事情也可能会发生变化。计划需要改变的最常见原因是新信息从项目外部的来源出现,并且计划的一个或多个路径发生变化或目标本身发生变化。

    随着项目的进展,您通常会看到越来越多的结果积累,让您有机会确保它们符合您的期望。一般而言,在涉及统计的数据科学项目中,期望基于统计显着性的概念或基于这些结果的实际有用性或适用性的某些其他概念或两者。统计意义和实际有用性通常密切相关,当然不是相互排斥的。作为项目计划的一部分,您可能包含了在统计分析结果中达到一定准确性或重要性的目标。实现这些目标将被视为该项目的成功。

     

    第三阶段 - 完成

    一旦产品构建完成,您仍然需要做一些事情来使项目更加成功并使您的未来生活更轻松。那么我们如何完成数据科学项目呢?

    10 - 交付产品

    完成阶段的第一步是产品交付。为了创建可以交付给客户的有效产品,首先必须了解客户的观点。其次,您需要为项目和客户选择最佳媒体。最后,您必须选择要包含在产品中的信息和结果以及要遗漏的内容。在产品创建和交付过程中做出好的选择可以大大提高项目的成功机会。

    传递媒体可以采取多种形式。在数据科学中,产品最重要的一个方面是客户是否被动地从中消费信息,或者客户是否积极参与产品并且能够使用产品来回答任何大量可能的问题。各种类型的产品可以落在被动和主动之间的任何地方:

    • 可能是向客户提交结果的最简单选项,报告白皮书包括文本,表格,图表和其他信息,这些信息可以解决您的项目要回答的部分或全部问题。报告和白皮书可能印在纸上或以PDF或其他电子格式发送。
    • 在一些数据科学项目中,数据集的分析和结果也可用于项目原始范围之外的数据,其中可能包括原始数据(未来)之后生成的数据,来自不同来源的类似数据,或由于某种原因尚未分析的其他数据。在这些情况下,如果您可以为客户创建可以执行这些分析并在新数据集上生成结果的分析工具,则对客户有所帮助。如果客户可以有效地使用此分析工具,它可能允许他们生成任意数量的结果,并继续很好地回答他们的主要问题以及各种(但相似的)数据集。
    • 如果您想提供比分析工具更积极的产品,您可能需要构建某种类型的完整应用程序。关于交互式图形应用程序最重要的事情是,如果您正在考虑提供交互式图形应用程序,那么您必须设计,构建和部署它。通常,这些都不是一项小任务。如果您希望应用程序具有许多功能并且具有灵活性,那么设计它并构建它将变得更加困难。

    除了决定提供结果的媒介之外,您还必须决定它将包含哪些结果。选择产品后,您必须弄清楚用于填充产品的内容。

    一些结果和内容可能是明显的选择,但对于其他信息来说,这个决定可能并不那么明显。通常,您希望包含尽可能多的有用信息和尽可能多的结果,但您希望避免客户可能误解或滥用您选择包含的任何结果的任何可能性。在许多情况下,这可以是微妙的平衡,并且在很大程度上取决于具体项目以及客户和其他观众对结果的知识和经验。

     

    11 - 进行修订

    交付产品后,我们会在初步反馈后继续修改产品。一旦客户开始使用该产品,就有可能出现一系列全新的问题和问题。尽管您付出了最大的努力,但您可能没有预料到客户将使用(或尝试使用)您产品的方式的各个方面。即使产品能够完成它应该做的事情,您的客户和用户也可能不会做这些事情并且有效地完成这些工作。

    获得反馈很难。一方面,通常很难从客户,用户或其他任何人那里获得建设性的反馈。另一方面,如果不考虑对您花费大量时间和精力构建的产品的攻击或误解,就很难听取反馈和批评。一些数据科学家提供产品并忘记它们。一些数据科学家提供产品并等待客户提供反馈。一些数据科学家不断提供产品并对这些客户造成错 与客户进行跟进通常是一个好主意,以确保您交付的产品能够解决其旨在解决的一些问题。

    进行产品修订可能会非常棘手,找到合适的解决方案和实施策略取决于您遇到的问题类型以及您需要更改以解决问题的方法。如果在整个项目过程中,您始终保持对不确定性的认识以及在此过程中每一步可能产生的许多结果,那么您可能会发现自己现在遇到的结果与您之前预期的结果不同,这可能就不足为奇了。但是,同样的意识实际上可以保证您至少接近有效的解决方案。实际上,这意味着你永远不会期望第一次100%正确,所以当然有问题。但是,如果你一直勤奋,问题很小,修复相对容易。

    一旦您发现产品出现问题并弄清楚如何修复产品,仍然需要决定是否修复产品。一些人最初的倾向是每个问题都需要解决; 这不一定是真的。有理由说明您可能不想进行修复问题的产品修订,就像您有理由一样。重要的是停止并考虑选项,而不是盲目地修复发现的每个问题,这可能会花费大量的时间和精力。

    12 - 结束项目

    我们数据科学过程的最后一步是将其包装起来。随着数据科学项目的结束,似乎所有工作都已完成,剩下的就是修复任何剩余的错误或其他问题,然后才能完全停止对项目的思考,然后继续下一步一个(尽管有持续的产品支持和改进)。但在调用项目之前,您可以采取一些措施来增加未来成功的机会,无论是扩展同一个项目还是完全不同的项目。

    现在做两件事有两种方法可以增加你未来成功的机会。一种方法是确保在未来的任何时候您都可以轻松地再次获取该项目并重做,扩展或修改它。通过这样做,您将增加在后续项目中获得成功的机会,相比之下,从现在开始几个月或几年您挖掘项目材料和代码并发现您不记得确切的是什么做了或怎么做了。两种实用的方法是通过文档存储

    提高未来项目成功率的另一种方法是尽可能多地从这个项目中学习,并将这些知识带到每个未来的项目中。通过进行尸检项目,您可以希望从其他课程中梳理出有用的课程。这包括审查旧目标,旧计划,您的技术选择,团队协作等。是否有可以应用于未来项目的特定课程或有助于您意识到可能的意外结果的一般课程,通过项目进行思考在事后审查期间可以帮助发现有用的知识,使您能够以不同的方式做事 - 并且希望下次更好。

    如果你从每个项目中只拿走一课,那么它应该与沿途发生的最大惊喜有关。不确定性可以渗透到你工作的每个方面,并且记住过去给你带来问题的所有不确定因素,可以防止类似的事情再次发生。从数据到分析再到项目的目标,几乎任何事情都可能在短时间内发生变化。了解所有可能性不仅是一项艰巨的挑战,而且几乎是不可能的。良好的数据科学家和伟大的数据科学家之间的区别在于能够预见可能出现的问题并做好准备。

     

    结论

    数据科学仍然具有新领域的光环。它的大多数组成部分 - 统计学,软件开发,基于证据的问题解决等 - 直接来自成熟的,甚至是旧的领域,但数据科学似乎是这些部分的新组合,是新的东西。数据科学的核心并不涉及特定的数据库实现或编程语言,即使这些对于从业者来说是必不可少的。核心是数据内容,给定项目的目标以及用于实现这些目标的数据分析方法之间的相互作用。

    我非常高兴你看看Brian的书,以获得有关数据科学过程每一步的更多细节。它非常适合数据科学,软件和统计学方面的非专家。它描绘了数据科学的生动画面,作为一个具有许多细微差别,警告和不确定性的过程。数据科学的力量不在于弄清楚接下来应该发生什么,而在于实现接下来会发生什么,并最终找出接下来会发生什么。

     

    原文:https://medium.com/cracking-the-data-science-interview/how-to-think-like-a-data-scientist-in-12-steps-157ea8ad5da8

    展开全文
  • 一些与R语言有关的书籍、课程

    千次阅读 2018-03-18 08:17:25
    文章转自:https://d.cosx.org/d/419391-rBiomedical Data Science 生物医学数据科学 视频 Rmd源文件 书 课程edXAnalysis of Spatial and Temporal Data Lecture Slides、 JAGS和 R codeComputational and ...
  • 目前,数据科学家正在受到很多关注,因此,有关数据科学的书籍正在激增。我看过很多关于数据科学的书籍,在我看来他们中的大多数更关注工具和技术,而不是数据科学中细微问题的解决。直到我遇到BrianGodsey的“像...
  • 目前,数据科学家正在受到很多关注,因此,有关数据科学的书籍正在激增。我看过很多关于数据科学的书籍,在我看来他们中的大多数更关注工具和技术,而不是数据科学中细微问题的解决。直到我遇到Brian Godsey的“像...
  • :网络科学及其应用入门书籍(例如图分析,社交网络分析) :学习Python入门书 :存储许多与DL相关主题相关许多研究论文资料库 :关于网络表示学习和网络嵌入论文完美收藏 :有关知识表示学习和知识...
  • 人工智能、机器学习、模式识别、计算机视觉、数据挖掘、信息检索、自然语言处理等作为计算机科学重要研究分支,不论是学术界还是工业界,有关这方面研究都在如火如荼地进行着,学习这些方面内容有一些经典书籍...

空空如也

空空如也

1 2 3 4 5
收藏数 99
精华内容 39
关键字:

有关数据科学的的书籍