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