去年我决定从传统水利行业跨行到数据科学领域的时候,满脑子都是困惑与担心,犹豫放弃所学多年的专业知识值不值得,担心万一转行失败怎么办,纠结实际工作比想象中的难怎么办。
没遇到指点迷津的大佬,只好网上各种搜,众说纷纭,最后在「要不要转行」这个问题上浪费了很长时间。在跨过这个坎之后,回头来看以前那些问题,思路清晰很多。
一路走来,我也积累了不少有用的技巧,现在就将数据科学家必备的技能分享给大家!
在开始阶段,相比具体的专业知识,更重要的是大方向把握。好比,你告诉我旅途上的风景有多么多么美,但我想先知道是哪条路,好判断能不能去到。
1.R编程
对于数据科学家来说,R的至少是所有分析工具最应该深入了解工具,因为R专为满足数据科学需求而设计。你可以使用R来解决数据科学中遇到的任何问题,事实上,43%的数据科学家正在使用R来解决统计问题。然而,R有一个陡峭的学习曲线。如果你已经掌握了某种编程语言,那么就会更难学习。不过不要担心,互联网上还有很多资源可以帮助你开始使用R,例如Simplilearn的R编程语言数据科学,它是有抱负的数据科学家的重要资源。
技术技能:计算机科学
2.Python编码
Python是适合数据科学家学习的一种优秀编程语言,也是我在数据科学角色中看到的最常见的编码语言,其中还有Java,Perl或C/C ++。O'Reilly曾经调查过数据科学家,调查的受访者中有40%使用Python作为他们的主要编程语言。
由于python的多功能性,你可以将其用于数据科学过程中涉及的几乎所有步骤。它可以采用各种格式的数据,同时可以轻松地将SQL表导入代码中,并且还允许你创建数据集,这样你就可以在Google上找到所需的任何类型的数据集。
3.Hadoop平台
虽然这个不是硬性要求,但在许多情况下它是非常有用的,拥有Hive或Pig的经验也是一个很好的加分项。CrowdFlower对3490个LinkedIn上数据科学工作者进行的一项研究发现Apache Hadoop被评为数据科学家第二重要技能。
作为数据科学家,你可能会遇到这样的情况,即你拥有的数据量超过系统内存或需要将数据发送到不同的服务器,这时Hadoop就能发挥其作用了。你可以使用Hadoop快速将数据传输到各种系统上的点。同时你还可以使用Hadoop进行数据探索、数据过滤、数据采样和汇总。
4.SQL数据库/编码
尽管NoSQL和Hadoop已经成为数据科学的一个重要组成部分,但大多数人还是希望能够在SQL中编写和执行复杂查询。SQL(结构化查询语言)是一种编程语言,可以帮助你执行添加,删除和从数据库中提取数据等操作。它还可以帮助你执行分析功能和转换数据库结构。
作为数据科学家,你需要精通SQL,因为SQL可以专门用于帮助你访问和处理数据。当你使用它来查询数据库时你会发现,它简洁的命令可以帮助你节省时间并减少执行困难查询所需的编程量。学习SQL将帮助你更好地理解关系数据库并提升你作为数据科学家的形象。
5.Apache Spark
Apache Spark正在成为全球最受欢迎的大数据技术。它就像Hadoop一样是一个大数据计算框架,唯一的区别是Spark比Hadoop更快。这是因为Hadoop需要读取和写入磁盘,这使得速度变慢,但Spark将其计算缓存在内存中。
Apache Spark专为数据科学而设计,它可以帮助更快地运行复杂的算法。它还有助于数据科学家处理复杂的非结构化数据集,你可以在一台机器或一组机器上使用它。Apache spark使数据科学家能够防止数据科学中的数据丢失。Apache Spark的优势在于其速度和平台,这使得开展数据科学项目变得容易。借助Apache spark,你可以执行从数据采集到分布式计算的分析。
6.机器学习和AI
大量数据科学家并不精通机器学习领域和技术,这包括神经网络,强化学习,对抗性学习等。如果你想从其他数据科学家中脱颖而出,你需要了解机器学习技术,如监督机器学习、决策树、逻辑回归等。这些技能将帮助你解决基于主要组织结果预测的不同数据科学问题。
数据科学需要应用于机器学习的不同领域。Kaggle在其中一项调查中发现,一小部分数据专业人员具备先进的机器学习技能,如监督机器学习、无监督机器学习、时间序列、自然语言处理、异常值检测、计算机视觉、推荐引擎、强化学习和对抗性学习。
7.数据可视化
商业世界经常产生大量数据,这些数据需要被翻译成易于理解的格式。与原始数据相比,人们可以更自然地以图表和图形的形式理解数据,常言道:“一张图片胜过千言万语”。
作为数据科学家,你必须能够借助数据可视化工具(如ggplot,d3.js和Matplottlib以及Tableau)可视化数据。这些工具将帮助你将项目中的复杂结果转换为易于理解的格式。问题是,很多人不了解序列相关性或p值,你需要直观地向他们展示这些术语在结果中的表示。
数据可视化使组织有机会直接处理数据,他们可以快速掌握并且帮助他们在竞争中抓住新商机。
8.非结构化数据
数据科学家能够处理非结构化数据至关重要。非结构化数据是未定义的内容,不适合数据库表,其中包括视频、博客文章、客户评论、社交媒体帖子、音频等。对这些类型的数据进行排序很困难,因为它们没有逻辑可言。由于其复杂性,大多数人将非结构化数据称为“黑暗分析”。使用非结构化数据可以帮助你揭示对决策有用的洞察力。作为数据科学家,你必须能够理解和操纵来自不同的平台的非结构化数据。
9.那么新手应该如何入行数据科学领域?
下面这份报告中提出了一些数据科学老司机给新手学习者的建议,可以说是非常良心了!这一部分可能是本份报告中最有价值的部分,敲黑板划重点!
“你们会推荐新手先学哪门语言?”
先学Python!这是综合了超一万名老司机的意见给出的结论。