作为数据科学家应该知道的11件事

大数据
在我们举办的聚会期间,我们见到了很多朋友。从数据科学领域完全的菜鸟到专家,在同一个屋檐下,每个人都发出自己的疑惑。

数据科学

背景

在我们举办的聚会期间,我们见到了很多朋友。从数据科学领域完全的菜鸟到专家,在同一个屋檐下,每个人都发出自己的疑惑。然而,当我们面对这群朋友——很大比例的这部分人(包括一些专家),一件事情显得尤为突出,他们没有自己的机器,也没有将自己的身份调整过来。他们中的很多人从未抽出时间开启他们作为数据科学家的旅程。结果他们只是得到了一个能够涉及多个产业资源的机会。

没有人告诉他们该关注哪些博客,该订阅哪些时事新闻,去哪里阅读行业最新的讯息。他们从不调整他们的机器,也没有必要的硬件或者软件。这导致了极低的生产率,在某些情况下甚至遭遇挫折,在这样的时候他们应该喜欢上这样的经历。

还是没有联想起什么?试想下在浏览一个网页的时候,载入就耗费了10秒中。在这个时候你很可能会很不耐烦,然后打开一个新站点的网页避免浪费时间。同样的事情也会发生在数据科学身上。代码运行的时间越长,从工作中避开的机会也越多。

这就是我们怎样发现行业里的人们不曾说过的问题,因此我们想给这些朋友准备成为数据科学家的一些指引。

谁适合本指引?

如上所述,这个指引是写给那些还没调好机器的数据科学行业的工作者。我想这更多的是给新手们写的,但是我同样也希望资深工作者也能从中受益。

让我们从设置机器开始

1.硬件-机器的选择

首先应该确认的是你有适合数据科学的硬件配置。如果你的硬件已经足够好的话,那也没什么可以做的了。既然笔记本电脑已经成为现在的主流,以下是我对笔记本的配置建议。如果你用台式机或者iMac,你可以有更好的硬件配置。

当然最终的选择将由你可以付出多少钱来决定,我建议一台四核心,英特尔i7处理器的机子就可以了。确保你选的机子是四核处理器而不是双核的。在现在,选用好的四核芯片还是比较困难的。你可以在cpuboss这类网站上查看各种芯片的benchmark性能表现,再根据自己的预算来选择。

我们总是建议你配置尽量大的内存,很多工具在计算的时候都会消耗大量内存,你也不想让内存溢出吧。

如果你的预算充裕,将机械硬盘升级为固态硬盘可以为数据的读写提升很大的性能。对那些真想深入学习机器学习的人来说,建议配置一块英伟达的GPU,这样的话对于那些需要强烈计算的时候可以用上CUDA技术。

这里有一些比较好的建议配置:

  • 15吋的Mac Book Pro.
  • 3年前我购置了一台联想Z510,i7(3632QM)处理器,16GB内存,英伟达的GPU的电脑,我觉得还不错。性能方面,它仍然是现在市场上一台比较不错的设备。
  • 如果你在美国,需要更好的设备,可以试下Malibal 9000,它很漂亮,只是有点重。

一些其他的说明:

  • 6代的英特尔Skylake处理器最近才发布,基于这款处理器的设备才刚刚兴起。我相信他们将再次掀起一场革命。你可以在联想Thinkpad P50和P70的配置上得到检验。 所以,如果你现在有一台中等配置的机器,我建议你再等2-3个月购置一台基于6代处理器的设备。
  • 如果现在你不得不买一台设备的话,四代四核i7处理器是一个不错的选择。在写这篇文章的时候,5代的处理器还没有什么好的选择。

人们可能会说没有必要在怎么高配的设备上做投资。你可能在一些中等机器的云上更好的工作。我个人很喜欢个人电脑提供的方便的可访问性,我可以在没有网络的情况下随时随地的工作。

2.操作系统

一旦你已经选定了你的机器,下一步重要的选择就是操作系统了。

  • 如果你有一台mac机,那么你的操作系统就已经定了。一些软件比如QlikView在MAC下没有兼容版本,你可以在虚拟机里运行它们。
  • 如果你用的是PC电脑,我建议安装双系统。Linux在高级计算上有更好的表现,Windows系统对于像微软Office等一起其他的软件只能在Windows系统运行。所以两个系统最好都要有。
  • 另一个选择是我看到很多人在Windows机上跑一台Linux虚拟机,这样的话在内存和性能上将受到一些限制。
  • 也可以在Linux上使用微软的Office 360.我本人没怎么干过,所以我就不评论了,但是看起来也是个选择。再次重申,可能有很多软件没法再Linux上运行。

一旦选定了操作系统确保你的操作系统发挥了最大的性能。比如,在Windows上,你可以关掉一些透明等界面的效果。去到高级选项卡->性能->设置,将视觉效果禁用,取消一些没必要自启动的程序,然后将电源调成性能模式。

3.常用软件

除了一些数据分析工具,这里有一些你需要用到的软件。

  • 微软Office比如Excel,用来展现结果,编写文档等。
  • FileZilla用FTP传送文件。
  • Git & GitHub用来控制版本.
  • VMWare / Oracle Virtual Box / Vagrant用来运行虚拟机。
  • Cygwin / Putty(for windows)
  • 我使用Evernote 来整理笔记.如果在Linux里,我使用浏览器。
  • Terminator (for Linux)在单个视图下运行多个终端的工具,很不错的。
  • Sublime Text用来编写代码.你需要安装额外的你所使用的语言插件。

4.分析数据的软件

这部分将非常依赖于你所选用的数据挖掘的工具。如果你仍然选用主要的工具,看下这里的比较 – SAS vs. R vs. Python.如果你 已经有一个选用的工具,选一个适合你的:

  • SAS– 基于SAS的企业级指引、企业级数据挖掘模块将依赖于你的许可证.它也提供了TextMiner / JMP和一些行业应用的模块。
  • R– R语言提供了一些关键的库.RStudio是一个不错的开发环境。
  • Python– iPython notebooks, Dato (Graphlab), vowpal-wabbit, import.io 是另外很有意思的相互独立的科学库.

其他可供选择的有MATLAB / Octave / RapidMiner.

5.数据可视化软件

除了以上提到的软件,有一个专门用来做数据可视化的工具是很重要的。他们通常会在每一个项目的末尾,当你将数据呈现在客户面前时显现出重要性。有很多可供选择的软件。关于这些软件的更多信息,请参考他们自己的文档。我推荐 QlikView – 它很易用,有一个个人免费版本可以下载,对于大的数据量它真的可以很好的处理.Tableau 是另外一个很不错的选择,使用起来同样非常直观,但是据我的经验,对于大数据量的处理并不是很出色。

如果你了解JavaScript,你可以使用基于它的库比如D3.js

6.数据库/文件存储

很多时候,当数据集很庞大或者你给你的用户编译程序时,你将需要使用数据库 –SQL 是最常使用的.你也可以使用MySQL或者PostgreSQL.SQLite捆绑在Python的包里时对于一些小的应用是非常高效的。如果你经常跟大数据量打交道,建立一个Hadoop集群是不可避免的。如果你要处理实时的数据流,你也将需要用到Spark.

除了这些数据库,你需要了解下NoSQL,以防日后用到它.我建议使用 MongoDB 和 Neo4j .

其他资源

6.云服务

假如你要处理400GB的数据量,你要怎么办呢?即使我上面建议的机器配置用R语言来处理,也无法一次将他们装载到内存里。对于这样的场景,有一个云账号是很方便的。你可以使用两家云服务提供商——亚马逊网络服务(人们常说的AWS)或者微软公司的Azure.他们都提供了高度伸缩性的解决方案。Azure平台界面可能会更加友好些,但是亚马逊才是云服务的霸主。你可以在两个公司都申请个账号体验一下。

 

7.行业博客和时事新闻

我假设你已经订阅了Analytics Vidhya的文章。如果没有,请到这里 订阅.除了Analytics Vidhya, 你也可以关注 KDNuggets 和 DataScienceCentral.

在时事新闻方面, 我推荐O’Reilly, DataScienceWeekly和 Data Elixir 的时讯.

8.移动app

我经常使用手机阅读很多内容。不论我是在乘坐地铁或者只有5分钟浏览最新的出版物,我都使用移动端。我用Prismatic和Flipboard这些聚合软件去发现新的东西。两者都给我提供了行业最新的发展动态。

另外,我也使用Termux,它是一个功能完善的Linux终端,以防我需要ssh连接服务器的时候使用。我也偶尔使用它在Python脚本里编写原型程序。

9.聚会

你可以找到很多聚会在你周围.它给需要相互交流的人们提供了很好的机会。Analytics Vidhya在印度很多城市主办了编程马拉松活动。DataKind也有很多聚会.

10.可用来实践的数据集

对于新手, 你可以看看这在Analytics Vidhya上的讨论 .除了这个, KDNuggets维护了一些开源的数据集。 UCI也提供了一些可用于机器学习的数据.

你也可以访问data.gov来寻找一些开源的数据。

11.社区和社交媒体

如果你还没有完成, 注册我们的讨论门户.你不能只是跟其他的数据科学家在社区上交流,也可以参加各种我们主办的编程马拉松.除此之外, 你可以看看 Kaggle竞赛和DataTau这是黑客行业的一些动态.

另外,你也可以在Twitter, LinkedIn, GitHub, Facebook和Reddit找到数据科学的社区.你同样可以订阅YouTube的频道。

责任编辑:李英杰 来源: 36大数据
相关推荐

2017-10-11 18:14:13

数据收集大数据系统建模

2020-10-25 20:00:18

数据科学数据科学家

2020-06-16 09:13:27

数据科学数据大数据

2021-12-19 22:31:01

Windows 11Windows微软

2024-01-09 14:57:22

2014-11-14 17:39:23

云计算

2019-07-03 15:21:47

数据科学统计数据数据结构

2017-08-04 15:53:10

大数据真伪数据科学家

2021-05-19 18:23:40

物联网IOT物联网技术

2015-09-18 08:47:41

新手程序员

2010-09-02 18:56:09

NoSQL数据库DBA

2019-07-11 12:59:27

数据科学家概率分布统计

2012-02-07 13:29:35

2015-10-28 18:04:51

2022-04-22 14:28:18

加密推特比特币加密货币

2018-05-04 10:48:07

Kubernetes容器K8S

2013-01-06 14:11:34

手机版Ubuntu系统

2018-11-01 15:50:24

MongoDB服务器数据库

2018-08-30 06:00:04

2019-09-18 21:00:51

Python数据科学多线程
点赞
收藏

51CTO技术栈公众号