背景
在我們舉辦的聚會期間(jiān),我們見到了(le)很多朋(péng)友。從數據科學領域完全的菜鳥到專家,在同一(yī)個(gè)屋檐下(xià),每個(gè)人(rén)都發出自己的疑惑。然而,當我們面對這(zhè)群朋(péng)友——很大比例的這(zhè)部分(fēn)人(rén)(包括一(yī)些(xiē)專家),一(yī)件事(shì)情顯得尤為(wèi)突出,他們沒有自己的機器(qì),也(yě)沒有将自己的身(shēn)份調整過來(lái)。他們中的很多人(rén)從未抽出時(shí)間(jiān)開啓他們作(zuò)為(wèi)數據科學家的旅程。結果他們隻是得到了(le)一(yī)個(gè)能(néng)夠涉及多個(gè)産業資源的機會。
沒有人(rén)告訴他們該關(guān)注哪些(xiē)博客,該訂閱哪些(xiē)時(shí)事(shì)新(xīn)聞,去哪裏閱讀行業最新(xīn)的訊息。他們從不調整他們的機器(qì),也(yě)沒有必要的硬件或者軟件。這(zhè)導緻了(le)極低(dī)的生(shēng)産率,在某些(xiē)情況下(xià)甚至遭遇挫折,在這(zhè)樣的時(shí)候他們應該喜歡上(shàng)這(zhè)樣的經曆。
還是沒有聯想起什(shén)麽?試想下(xià)在浏覽一(yī)個(gè)網頁的時(shí)候,載入就(jiù)耗費了(le)10秒(miǎo)中。在這(zhè)個(gè)時(shí)候你很可能(néng)會很不耐煩,然後打開一(yī)個(gè)新(xīn)站(zhàn)點的網頁避免浪費時(shí)間(jiān)。同樣的事(shì)情也(yě)會發生(shēng)在數據科學身(shēn)上(shàng)。代碼運行的時(shí)間(jiān)越長,從工作(zuò)中避開的機會也(yě)越多。
這(zhè)就(jiù)是我們怎樣發現(xiàn)行業裏的人(rén)們不曾說(shuō)過的問題,因此我們想給這(zhè)些(xiē)朋(péng)友準備成為(wèi)數據科學家的一(yī)些(xiē)指引。
誰适合本指引?
如(rú)上(shàng)所述,這(zhè)個(gè)指引是寫給那些(xiē)還沒調好(hǎo)(hǎo)機器(qì)的數據科學行業的工作(zuò)者。我想這(zhè)更多的是給新(xīn)手們寫的,但(dàn)是我同樣也(yě)希望資深工作(zuò)者也(yě)能(néng)從中受益。
讓我們從設置機器(qì)開始
1.硬件-機器(qì)的選擇
首先應該确認的是你有适合數據科學的硬件配置。如(rú)果你的硬件已經足夠好(hǎo)(hǎo)的話(huà),那也(yě)沒什(shén)麽可以做的了(le)。既然筆記本電腦已經成為(wèi)現(xiàn)在的主流,以下(xià)是我對筆記本的配置建議(yì)。如(rú)果你用台式機或者iMac,你可以有更好(hǎo)(hǎo)的硬件配置。
當然最終的選擇将由你可以付出多少錢(qián)來(lái)決定,我建議(yì)一(yī)台四核心,英特爾i7處理(lǐ)器(qì)的機子(zǐ)就(jiù)可以了(le)。确保你選的機子(zǐ)是四核處理(lǐ)器(qì)而不是雙核的。在現(xiàn)在,選用好(hǎo)(hǎo)的四核芯片還是比較困難的。你可以在cpuboss這(zhè)類網站(zhàn)上(shàng)查看各種芯片的benchmark性能(néng)表現(xiàn),再根據自己的預算(suàn)來(lái)選擇。
我們總是建議(yì)你配置盡量大的内存,很多工具在計算(suàn)的時(shí)候都會消耗大量内存,你也(yě)不想讓内存溢出吧(ba)。
如(rú)果你的預算(suàn)充裕,将機械硬盤升級為(wèi)固态硬盤可以為(wèi)數據的讀寫提升很大的性能(néng)。對那些(xiē)真想深入學習機器(qì)學習的人(rén)來(lái)說(shuō),建議(yì)配置一(yī)塊英偉達的GPU,這(zhè)樣的話(huà)對于那些(xiē)需要強烈計算(suàn)的時(shí)候可以用上(shàng)CUDA技術。
這(zhè)裏有一(yī)些(xiē)比較好(hǎo)(hǎo)的建議(yì)配置:
· 15吋的MacBookPro.
· 3年前我購(gòu)置了(le)一(yī)台聯想Z510,i7(3632QM)處理(lǐ)器(qì),16GB内存,英偉達的GPU的電腦,我覺得還不錯。性能(néng)方面,它仍然是現(xiàn)在市(shì)場(chǎng)上(shàng)一(yī)台比較不錯的設備。
· 如(rú)果你在美國,需要更好(hǎo)(hǎo)的設備,可以試下(xià)Malibal9000,它很漂亮,隻是有點重。
一(yī)些(xiē)其他的說(shuō)明:
· 6代的英特爾Skylake處理(lǐ)器(qì)最近才發布,基于這(zhè)款處理(lǐ)器(qì)的設備才剛剛興起。我相信他們将再次掀起一(yī)場(chǎng)革命。你可以在聯想ThinkpadP50和P70的配置上(shàng)得到檢驗。所以,如(rú)果你現(xiàn)在有一(yī)台中等配置的機器(qì),我建議(yì)你再等2-3個(gè)月(yuè)(yuè)購(gòu)置一(yī)台基于6代處理(lǐ)器(qì)的設備。
· 如(rú)果現(xiàn)在你不得不買一(yī)台設備的話(huà),四代四核i7處理(lǐ)器(qì)是一(yī)個(gè)不錯的選擇。在寫這(zhè)篇文章的時(shí)候,5代的處理(lǐ)器(qì)還沒有什(shén)麽好(hǎo)(hǎo)的選擇。
人(rén)們可能(néng)會說(shuō)沒有必要在怎麽高配的設備上(shàng)做投資。你可能(néng)在一(yī)些(xiē)中等機器(qì)的雲上(shàng)更好(hǎo)(hǎo)的工作(zuò)。我個(gè)人(rén)很喜歡個(gè)人(rén)電腦提供的方便的可訪問性,我可以在沒有網絡的情況下(xià)随時(shí)随地的工作(zuò)。
2.操作(zuò)系統
一(yī)旦你已經選定了(le)你的機器(qì),下(xià)一(yī)步重要的選擇就(jiù)是操作(zuò)系統了(le)。
· 如(rú)果你有一(yī)台mac機,那麽你的操作(zuò)系統就(jiù)已經定了(le)。一(yī)些(xiē)軟件比如(rú)QlikView在MAC下(xià)沒有兼容版本,你可以在虛拟機裏運行它們。
· 如(rú)果你用的是PC電腦,我建議(yì)安裝雙系統。Linux在高級計算(suàn)上(shàng)有更好(hǎo)(hǎo)的表現(xiàn),Windows系統對于像微軟Office等一(yī)起其他的軟件隻能(néng)在Windows系統運行。所以兩個(gè)系統最好(hǎo)(hǎo)都要有。
· 另一(yī)個(gè)選擇是我看到很多人(rén)在Windows機上(shàng)跑一(yī)台Linux虛拟機,這(zhè)樣的話(huà)在内存和性能(néng)上(shàng)将受到一(yī)些(xiē)限制。
· 也(yě)可以在Linux上(shàng)使用微軟的Office360.我本人(rén)沒怎麽幹過,所以我就(jiù)不評論了(le),但(dàn)是看起來(lái)也(yě)是個(gè)選擇。再次重申,可能(néng)有很多軟件沒法再Linux上(shàng)運行。
一(yī)旦選定了(le)操作(zuò)系統确保你的操作(zuò)系統發揮了(le)最大的性能(néng)。比如(rú),在Windows上(shàng),你可以關(guān)掉一(yī)些(xiē)透明等界面的效果。去到高級選項卡->性能(néng)->設置,将視(shì)覺效果禁用,取消一(yī)些(xiē)沒必要自啓動的程序,然後将電源調成性能(néng)模式。
3.常用軟件
除了(le)一(yī)些(xiē)數據分(fēn)析工具,這(zhè)裏有一(yī)些(xiē)你需要用到的軟件。
· 微軟Office比如(rú)Excel,用來(lái)展現(xiàn)結果,編寫文檔等。
· FileZilla用FTP傳送文件。
· Git&GitHub用來(lái)控制版本.
· VMWare/OracleVirtualBox/Vagrant用來(lái)運行虛拟機。
· Cygwin/Putty(forwindows)
· 我使用Evernote來(lái)整理(lǐ)筆記.如(rú)果在Linux裏,我使用浏覽器(qì)。
· Terminator(forLinux)在單個(gè)視(shì)圖下(xià)運行多個(gè)終端的工具,很不錯的。
· SublimeText用來(lái)編寫代碼.你需要安裝額外的你所使用的語言插件。
4.分(fēn)析數據的軟件
這(zhè)部分(fēn)将非常依賴于你所選用的數據挖掘的工具。如(rú)果你仍然選用主要的工具,看下(xià)這(zhè)裏的比較–SASvs.Rvs.Python.如(rú)果你已經有一(yī)個(gè)選用的工具,選一(yī)個(gè)适合你的:
· SAS–基于SAS的企業級指引、企業級數據挖掘模塊将依賴于你的許可證.它也(yě)提供了(le)TextMiner/JMP和一(yī)些(xiē)行業應用的模塊。
· R–R語言提供了(le)一(yī)些(xiē)關(guān)鍵的庫.RStudio是一(yī)個(gè)不錯的開發環境。
· Python–iPythonnotebooks,Dato(Graphlab),vowpal-wabbit,import.io是另外很有意思的相互獨立的科學庫。
其他可供選擇的有MATLAB/Octave/RapidMiner。
5.數據可視(shì)化(huà)軟件
除了(le)以上(shàng)提到的軟件,有一(yī)個(gè)專門用來(lái)做數據可視(shì)化(huà)的工具是很重要的。他們通常會在每一(yī)個(gè)項目的末尾,當你将數據呈現(xiàn)在客戶面前時(shí)顯現(xiàn)出重要性。有很多可供選擇的軟件。關(guān)于這(zhè)些(xiē)軟件的更多信息,請參考他們自己的文檔。我推薦QlikView–它很易用,有一(yī)個(gè)個(gè)人(rén)免費版本可以下(xià)載,對于大的數據量它真的可以很好(hǎo)(hǎo)的處理(lǐ).Tableau是另外一(yī)個(gè)很不錯的選擇,使用起來(lái)同樣非常直觀,但(dàn)是據我的經驗,對于大數據量的處理(lǐ)并不是很出色。
如(rú)果你了(le)解JavaScript,你可以使用基于它的庫比如(rú)D3.js
6.數據庫/文件存儲
很多時(shí)候,當數據集很龐大或者你給你的用戶編譯程序時(shí),你将需要使用數據庫–SQL是最常使用的.你也(yě)可以使用MySQL或者PostgreSQL.SQLite捆綁在Python的包裏時(shí)對于一(yī)些(xiē)小的應用是非常高效的。如(rú)果你經常跟大數據量打交道,建立一(yī)個(gè)Hadoop集群是不可避免的。如(rú)果你要處理(lǐ)實時(shí)的數據流,你也(yě)将需要用到Spark.
除了(le)這(zhè)些(xiē)數據庫,你需要了(le)解下(xià)NoSQL,以防日後用到它.我建議(yì)使用MongoDB和Neo4j.
其他資源
6.雲服務(wù)
假如(rú)你要處理(lǐ)400GB的數據量,你要怎麽辦呢(ne)?即使我上(shàng)面建議(yì)的機器(qì)配置用R語言來(lái)處理(lǐ),也(yě)無法一(yī)次将他們裝載到内存裏。對于這(zhè)樣的場(chǎng)景,有一(yī)個(gè)雲賬号是很方便的。你可以使用兩家雲服務(wù)提供商(shāng)——亞馬遜網絡服務(wù)(人(rén)們常說(shuō)的AWS)或者微軟公司的Azure.他們都提供了(le)高度伸縮性的解決方案。Azure平台界面可能(néng)會更加友好(hǎo)(hǎo)些(xiē),但(dàn)是亞馬遜才是雲服務(wù)的霸主。你可以在兩個(gè)公司都申請個(gè)賬号體(tǐ)驗一(yī)下(xià)。
7.行業博客和時(shí)事(shì)新(xīn)聞
我假設你已經訂閱了(le)AnalyticsVidhya的文章。如(rú)果沒有,請到這(zhè)裏訂閱.除了(le)AnalyticsVidhya,你也(yě)可以關(guān)注KDNuggets和DataScienceCentral.
在時(shí)事(shì)新(xīn)聞方面,我推薦O’Reilly,DataScienceWeekly和DataElixir的時(shí)訊.
8.移動app
我經常使用手機閱讀很多内容。不論我是在乘坐地鐵或者隻有5分(fēn)鍾浏覽最新(xīn)的出版物,我都使用移動端。我用Prismatic和Flipboard這(zhè)些(xiē)聚合軟件去發現(xiàn)新(xīn)的東西(xī)。兩者都給我提供了(le)行業最新(xīn)的發展動态。
另外,我也(yě)使用Termux,它是一(yī)個(gè)功能(néng)完善的Linux終端,以防我需要ssh連接服務(wù)器(qì)的時(shí)候使用。我也(yě)偶爾使用它在Python腳本裏編寫原型程序。
9.聚會
你可以找到很多聚會在你周圍.它給需要相互交流的人(rén)們提供了(le)很好(hǎo)(hǎo)的機會。AnalyticsVidhya在印度很多城市(shì)主辦了(le)編程馬拉松活動。DataKind也(yě)有很多聚會.
10.可用來(lái)實踐的數據集
對于新(xīn)手,你可以看看這(zhè)在AnalyticsVidhya上(shàng)的討(tǎo)論.除了(le)這(zhè)個(gè),KDNuggets維護了(le)一(yī)些(xiē)開源的數據集。UCI也(yě)提供了(le)一(yī)些(xiē)可用于機器(qì)學習的數據.
你也(yě)可以訪問data.gov來(lái)尋找一(yī)些(xiē)開源的數據。
11.社區和社交媒體(tǐ)
如(rú)果你還沒有完成,注冊我們的討(tǎo)論門戶.你不能(néng)隻是跟其他的數據科學家在社區上(shàng)交流,也(yě)可以參加各種我們主辦的編程馬拉松.除此之外,你可以看看Kaggle競賽和DataTau這(zhè)是黑客行業的一(yī)些(xiē)動态.
另外,你也(yě)可以在Twitter,LinkedIn,GitHub,Facebook和Reddit找到數據科學的社區.你同樣可以訂閱YouTube的頻道。
微信掃一(yī)掃
關(guān)注昊雲訂閱号