作为数据科学家应该知道的11件事
作者:佚名  来源:36大数据  发表时间:2016-4-5  点击:4938

背景


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

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

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

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

谁适合本指引?


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

让我们从设置机器开始

1.硬件-机器的选择

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

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

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

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

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

·          15吋的MacBookPro.

·          3年前我购置了一台联想Z510,i7(3632QM)处理器,16GB内存,英伟达的GPU的电脑,我觉得还不错。性能方面,它仍然是现在市场上一台比较不错的设备。

·          如果你在美国,需要更好的设备,可以试下Malibal9000,它很漂亮,只是有点重。

一些其他的说明:

·          6代的英特尔Skylake处理器最近才发布,基于这款处理器的设备才刚刚兴起。我相信他们将再次掀起一场革命。你可以在联想ThinkpadP50和P70的配置上得到检验。所以,如果你现在有一台中等配置的机器,我建议你再等2-3个月购置一台基于6代处理器的设备。

·          如果现在你不得不买一台设备的话,四代四核i7处理器是一个不错的选择。在写这篇文章的时候,5代的处理器还没有什么好的选择。

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

2.操作系统

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

·          如果你有一台mac机,那么你的操作系统就已经定了。一些软件比如QlikView在MAC下没有兼容版本,你可以在虚拟机里运行它们。

·          如果你用的是PC电脑,我建议安装双系统。Linux在高级计算上有更好的表现,Windows系统对于像微软Office等一起其他的软件只能在Windows系统运行。所以两个系统最好都要有。

·          另一个选择是我看到很多人在Windows机上跑一台Linux虚拟机,这样的话在内存和性能上将受到一些限制。

·          也可以在Linux上使用微软的Office360.我本人没怎么干过,所以我就不评论了,但是看起来也是个选择。再次重申,可能有很多软件没法再Linux上运行。

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

3.常用软件

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

·          微软Office比如Excel,用来展现结果,编写文档等。

·          FileZilla用FTP传送文件。

·          Git&GitHub用来控制版本.

·          VMWare/OracleVirtualBox/Vagrant用来运行虚拟机。

·          Cygwin/Putty(forwindows)

·          我使用Evernote来整理笔记.如果在Linux里,我使用浏览器。

·          Terminator(forLinux)在单个视图下运行多个终端的工具,很不错的。

·          SublimeText用来编写代码.你需要安装额外的你所使用的语言插件。

4.分析数据的软件

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

·          SAS–基于SAS的企业级指引、企业级数据挖掘模块将依赖于你的许可证.它也提供了TextMiner/JMP和一些行业应用的模块。

·          R–R语言提供了一些关键的库.RStudio是一个不错的开发环境。

·          Python–iPythonnotebooks,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.行业博客和时事新闻

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

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

8.移动app

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

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

9.聚会

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

10.可用来实践的数据集

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

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

11.社区和社交媒体

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

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

微信扫一扫

关注昊云订阅号

服务项目

维保运维服务

信息系统集成服务

机房搬迁服务

 
 
 
QQ 在线客服
QQ 在线客服
 
电话:
0531-88818533
客服QQ
2061058957
1905215487