2019年,如何学习Python数据科学失败了怎么办,纠结于实际工作比想象中更难怎么办。没遇到大佬指点,只好在网上搜了各种东西,众说纷纭。***我在“要不要转行”这个问题上浪费了很久。跨过这道坎之后,回头看看之前的问题,思路就清晰多了。其实在起步阶段,掌握大方向比具体的专业知识更重要。比如你告诉我旅途中的风景有多美,但我想先知道是哪条路,这样我才能判断能不能去。最近看到一篇文章叫《2019年学数据科学是什么感觉》,感触颇深。作者是ThomasNield,西南航空公司的商务顾问,《Getting Started with SQL (O'Reilly) 》等书籍的作者,经验丰富的IT专家。在文章中,他以一问一答的形式,给那些想走上数据科学道路的人一些中肯的建议。里面的一些观点很有价值,还摘录了一些文字,在这里分享给大家。背景:假设你是“表哥”,日常工作主要使用Excel、数据透视表、图表等。我最近了解到,未来很多工作都会被人工智能取代,包括你现在的工作。你决定开始学习数据科学、人工智能和机器学习。谷歌搜索“howtobecomeadatascientist”,找到了如下学习路线图,然后就开始向作者大牛请教了。问:我真的必须掌握这张图表中的所有内容才能成为数据科学家吗?成为数据科学家所需的技能(截至2013年)A:简单地说,不是全部。这是2013年的路线图,有点过时了。它甚至不包括TensorFlow,而且基本上没有人提到它。完全可以划掉这张图中的一些路径。前几年“数据科学”太散了,用其他的方法会好一些。Q:听你这么说压力小了,那我要不要回学校去读个数据科学硕士?我看到很多数据科学家至少拥有硕士学位。A:我的上帝,你为什么要这样做?不要被“数据科学”这些花哨的术语所迷惑,这些术语主要是用来重新定义一些业务类别的。其实学校里教的基本都是过时的技术,最好还是选择Coursera或者KhanAcademy这样的在线自学网站。问:那么我如何开始自学呢?LinkedIn上的人说你应该先学习Linux,Twitter上的人建议先学习Scala,而不是Python或RA:不要相信那些人的话。问:好的,R怎么样?喜欢的人不在少数。A:R擅长数学建模,但Python能做的更多,比如数据处理和构建Web服务。总之,Python的学习投资回报比R高。Q:R在Tiobe上的排名还是很高的,有很多社区和资源。学习它有什么问题?如果你只是对数学感兴趣,你可以毫无问题地使用R,而且它在Tidyverse包中更加强大。但数据科学的应用远远超出了数学和统计学。所以相信我,Python在2019年更值得学习,你不会后悔学习它。Q:Python难学吗?答:Python是一种简单的语言,可以帮助您自动执行许多任务并做一些很酷的事情。但数据科学不仅仅是脚本和机器学习,它甚至不需要依赖Python。问:什么意思?A:Python这些只是工具,使用这些工具从数据中获得洞察力,这个过程有时会涉及到机器学习,但大多数时候不会。简单地说,创建图表也是数据科学,所以你甚至不必学习Python,你可以使用Tableau,他们声称使用他们的产品你可以“成为数据科学家”。Q:嗯,但是数据科学不应该只做漂亮的可视化图表,你可以在Excel中做,学习编程应该很有用,告诉我一些关于Python的知识A:学习Python,你需要学习一些库,比如例如用于操作DataFrames的Pandas,用于制作图表的Matplotlib,实际上更好的选择是Plotly,它使用d3.js。Q:我能理解一些,但什么是DataFrame?A:它是一种有行有列的数据结构,类似于Excel表格,用它可以实现很酷的转换、透视、聚合。问:Python与Excel有何不同?A:很大的不同,你可以在JupyterNotebook中做任何事情,逐步完成每个数据分析阶段并将其可视化,就像你在创造一个可以与他人分享的故事一样。毕竟,交流和讲故事是数据科学的重要组成部分。问:这听起来与PowerPoint没有什么不同吗?A:当然有区别。JupyterNotebook更加自动化和简洁,可以轻松追踪每个分析步骤。有些人不太喜欢它,因为代码不是很实用。如果你想做一个软件产品,更好的方法是使用其他工具对代码进行模块化打包。问:那么数据科学与软件工程相关吗?A:你可以这么说,但不要误入歧途。学习数据科学最需要的是数据。初学者最好的办法是网络爬虫,抓取一些网页,用BeautifulSoup解析生成大量非结构化的文本数据,下载到电脑上。问:我认为学习数据科学是关于做表查询而不是网络抓取,所以我刚刚读完了一本关于SQL的书,SQL不是访问数据的典型方式吗?A:好吧,我们可以使用非结构化文本数据做很多很酷的事情。诸如对社交媒体帖子的情绪进行分类或进行自然语言处理之类的事情。NoSQL非常擅长存储这类数据。Q:听说过NoSQL这个词,它和SQL、大数据有什么关系?A:大数据是2016年的概念,有点过时了,大部分人已经不用这个词了。NoSQL是大数据的产物,到今天已经发展成为和MongoDB一样的平台。问:好的,但为什么叫NoSQL?A:NoSQL不仅仅指SQL,它支持关系表以外的数据结构,但NoSQL数据库通常不使用SQL,有专门的查询语言。让我们简单比较一下MongoDB和SQL查询语言:问:这太可怕了,你的意思是每个NoSQL平台都有自己的查询语言?SQL有什么问题?A:SQL没什么问题,有价值。但是,非结构化数据在近几年是一个热潮,用它来做分析更容易。需要强调的是,虽然SQL很难学,但它是一种非常通用的语言。问:好的,我可以这样理解吗:对于数据科学家来说,NoSQL不如SQL重要,除非你的工作需要它?A:差不多,除非你想成为一名数据工程师。问:数据工程师?A:数据科学家分为两个职业。数据工程师为模型提供可用的数据。机器学习和数学建模涉及较少,这些工作主要由数据科学家完成。如果你想成为一名数据工程师,建议优先学习ApacheKafka而不是NoSQL,ApacheKafka现在很火。如果你想成为“数据科学家”,看看这个数据科学维恩图。简单来说,数据工程师是一个多学科的职位。您需要了解数学/统计、编程和您的专业知识。问:嗯,我不知道我现在是想成为一名数据科学家还是一名数据工程师。回过头来看,为什么需要抓取维基百科页面?A:抓取的页面数据可以作为自然语言处理的输入数据,然后可以做一些事情,比如创建聊天机器人。Q:我是不是应该暂时不要接触自然语言处理、聊天机器人、非结构化文本数据等?答:没有,但值得注意的是,像谷歌和Facebook这样的大公司目前正在处理大量非结构化数据(例如社交媒体帖子和新闻文章)。除了这些科技巨头之外,大部分人还在以关系型数据库的形式使用业务运营数据,使用的不是那么前沿的技术,比如SQL。问:是的,我猜他们仍在做诸如挖掘用户帖子、电子邮件和广告之类的事情。A:是的,你会发现朴素贝叶斯很有趣而且很有用。获取文本文字并预测它所属的类别。先跳过这个。您当前的工作是处理大量表格数据。你想做一些预测或统计分析吗?Q:是的,我们终于回到主题了,就是解决实际问题。这对神经网络和深度学习有用吗?A:不用担心,如果你想学习这些,建议从基础开始,比如正态分布,线性回归等。Q:明白了,但是我在Excel中仍然可以这样做,有什么区别?答:您可以在Excel中做很多事情,但编程会给您更多的灵活性。问:你的意思是像VBA那样编程吗?A:看来得从头说起。Excel确实具有良好的统计运算符和不错的线性回归模型。但是,如果您需要对每个类别中的项目分别进行正态分布或回归,则使用Python比创建一长串公式(如下所示)要容易得多,这对公式阅读者来说是一件痛苦的事情。此外,Python还有一个强大的scikit-learn库,可以处理更多的回归和机器学习模型。Q:这涉及到数学建模领域吧?我需要学什么数学?A:让我们从线性代数开始,它是许多数据科学的基础。您将处理各种矩阵运算、行列式、特征向量和其他概念。不得不说,线性代数非常抽象,如果你想对线性代数有一个直观的解释,3Blue1Brown是最好的。Q:只是做大量的线性代数运算?这听起来毫无意义和乏味,你能举个例子吗?A:嗯,机器学习中会用到很多线性代数知识,比如:线性回归或者构建你自己的神经网络做很多矩阵乘法和随机权重值的缩放。问:嗯,矩阵与DataFrame有什么关系?感觉很相似。A:其实我要收回刚才的话,你不用线性代数也可以。问:真的吗?我还需要学习线性代数吗?A:目前,您可能不需要学习线性代数,只需使用机器学习库,例如TensorFlow和scikit-learn,这将帮助您将线性代数部分的工作自动化。不过,您需要对这些库的工作原理有一些了解。问:说到机器学习,线性回归真的是机器学习吗?A:是的,线性回归是机器学习的垫脚石。Q:太棒了,我一直用Excel做这个,那我也可以称自己为“机器学习从业者”吗?A:从技术上讲是的,但你需要扩展你的知识。机器学习通常有两个任务:回归或分类。从技术上讲,分类就是回归。决策树、神经网络、支持向量机、逻辑回归、线性回归,这些算法都是在做某种形式的曲线拟合,每种算法都有自己的优缺点。问:所以机器学习只是回归?他们都有效地拟合曲线?答:差不多,线性回归等一些模型可以清楚地解释,而神经网络等更高级的模型定义复杂且难以解释。神经网络实际上只是具有一些非线性函数的多层回归。当你只有2-3个变量时,它可能看起来并不那么令人印象深刻,但当你有成百上千个变量时,它就会开始变得有趣起来。Q:那么图像识别只是回归?A:是的,每个图像像素基本上都变成了一个有值的输入变量。你必须警惕维数灾难,你拥有的变量(维度)越多,你需要的数据就越多,以防止它变得稀疏。这是机器学习如此不可靠和混乱的众多原因之一,并且需要大量您没有的标记数据。Q:机器学习能解决员工排班、交通、数独这些问题吗?A:遇到这类问题,有人会说这不是数据科学,也不是机器学习,而是运筹学。问:这对我来说似乎是一个实际问题。与数据科学无关的运筹学?A:实际上,有相当多的重叠。运筹学提供了许多用于机器学习的优化算法。它还为常见的AI问题提供了许多解决方案。Q:那么我们用什么算法来解决这些问题呢?A:绝对不是机器学习算法,很少有人知道这个。更好的算法已经存在了几十年,树搜索、元启发式、线性规划和其他计算研究方法已经存在了很长时间,并且在解决这类问题时比机器学习算法做得更好。问:那么为什么每个人都在谈论机器学习而不是这些算法?A:因为这些优化算法问题早就有了令人满意的解决方案,但此后一直没有上过头条新闻。这些算法的AI炒作周期始于几十年前。今天,AI炒作重新点燃了机器学习及其解决的问题类型:图像识别、自然语言处理、图像生成等等。Q:那么在用机器学习解决调度问题,或者像数独这样简单的问题的时候,这样做是错误的吗?A:差不多,机器学习,深度学习,今天炒作的东西,通常都没有解决离散优化问题,至少没有很好的解决问题,非常不尽如人意。问:如果机器学习只是回归,为什么每个人都如此担心机器人和人工智能,认为它会危及我们的工作和社会?我的意思是拟合曲线真的那么危险吗?AI在做回归自我意识时有多少?答:人们发现了回归的一些巧妙应用,例如在给定的转弯处找到最佳棋步(也可以进行离散优化)或计算自动驾驶汽车的转向方向。但大部分都是炒作,回归只能做这些事情。问:嗯,我要散散步慢慢消化。我目前的Excel工作感觉像是“数据科学”,但数据科学家这个头衔有点虚幻。A:也许你应该关注IBM。
