如何在計算機上配置數據科學開發環境?

2020-12-17 騰訊網

大數據文摘出品

編譯:李佳、Don FJ、湯圓、雲舟

從Python、R等程式語言到以Git為例的版本控制系統甚至Unix Shell等命令行工具,數據科學家的武器庫現在越來越豐富了,在個人計算機上同時使用這些武器可能會對新入門的數據科學家們造成不小的困擾,本文就將帶你學習這些數據科學武器的配置方法。

在Datacamp這樣的在線交互培訓和教育平臺上學習之後,下一步要做的就是使用自己的計算機應用Python,R,Git,或者Unix Shell中的技巧。然而,怎樣準確地知道不同的項目需要什麼樣的準備工作呢?本教程就將幫助你了解需要安裝哪些插件和軟體,它包括:

Anaconda Python的優勢及其在作業系統中的安裝。

同時使用R和RStudio的好處及其在作業系統中的安裝。

Unix Shell的優勢及其使用方法。

Git的優勢及其在作業系統中的安裝。

接下來,讓我們開始學習吧!

Python

為了使用Python,首先你需要在電腦中安裝它。網絡上有許多不同版本的python,但是對於數據科學來說,Anaconda Python發行版是使用最廣泛的。

Anaconda的優點

Anaconda是一個包管理器,也是一個環境管理器,更是一個包含許多開放源碼包的集合的Python發行版。Anaconda的安裝附帶了許多軟體包,如numpy、scikit-learning、scipy以及pandas,這也是安裝Jupyter Notebooks的推薦方法。

Jupyter Notebooks

http://jupyter.org/install.html

下圖顯示了一個正在運行的Jupyter Notebooks。Jupyter Notebooks既包含代碼,也包含豐富的文本元素,如圖表、連結和方程式。

更多Jupyter Notebooks知識:

https://www.datacamp.com/community/tutorials/tutorial-jupyter-notebook

使用Anaconda的一些其他好處:

如果安裝Anaconda後需要額外的軟體包,可以使用Anaconda的軟體包管理器conda或pip。這是非常便捷的,因為你不必自己管理多個包之間的依賴關係。Conda甚至可以輕鬆地在Python 2和3之間切換。

Anaconda附帶了Python的集成開發環境Spyder。集成開發環境(Integrated Development Environment)是一種編碼工具,它允許你編寫、測試和調試代碼,因為它們通常提供代碼補全、代碼高亮、資源管理和調試工具以及許多其他功能。還可以將Anaconda與其他Python集成開發環境集成在一起,包括PyCharm和Atom。

更多關於Python集成開發環境的信息https://www.datacamp.com/community/tutorials/data-science-python-ide

如何安裝Anaconda(Python)

下面的連結將教你在作業系統上安裝Anaconda。

在Mac上安裝:

https://www.datacamp.com/community/tutorials/installing-anaconda-mac-os-x

在Windows上安裝:

https://medium.com/@GalarnykMichael/install-python-on-windows-anaconda-c63c7c3d1444

R語言

大多數使用R程式語言的人也安裝了RStudio。RStudio集成開發環境(IDE)通常被認為是使用R 語言最簡單、最高效的方法。

RStudio的優點

安裝R語言後,你就可以使用R語言提供的功能和項目啦,還可以在R解釋器中構建和運行命令。RStudio可提供一個完整的,與R解釋器完美融合的開發環境。

打開RStudio時,屏幕如上圖所示。四個窗格分別是:(a)一個文本編輯器。(b)一個開發環境的控制面板。(c)R解釋器。(d)幫助窗口和包管理系統。這些特性使得它能夠成為在你安裝R語言之後真正需要的RStudio。新手們經常問的一個問題是如何在R中安裝軟體包。下面的視頻演示了使用RStudio的包管理器安裝tidyverse的一個方法。

你可以在Datacamp的兩個課程系列中了解更多RStudio的特性。

學習使用RStudio集成開發環境:

第1部分:

https://www.datacamp.com/courses/working-with-the-rstudio-ide-part-1

第2部分:

https://www.datacamp.com/courses/working-with-the-rstudio-ide-part-2

如何安裝R和RStudio

下面是介紹如何在作業系統上安裝R和RStudio的一些連結。

在Mac中安裝R和RStudio:

https://medium.com/@GalarnykMichael/install-r-and-rstudio-on-mac-e911606ce4f4

在Windows中安裝R和RStudio:

https://medium.com/@GalarnykMichael/install-r-and-rstudio-on-windows-5f503f708027

Unix Shell

導航目錄、複製文件、使用虛擬機等都是數據科學家工作的日常。Unix Shell常被用於完成這些任務。

Unix Shell的一些用法

許多雲計算平臺都是基於Linux的(利用Unix Shell的特性)。例如,如果您想在Google Cloud上建立一個數據科學環境,或者在使用Jupyter Notebooks進行深度學習,都需要一些Unix Shell知識。有時可能也會需要Windows虛擬機,但它並不常用。

Windows虛擬機:

https://www.datacamp.com/community/tutorials/aws-ec2-beginner-tutorial

Unix Shell裡面有很多有用的指令,比如 wc 指令能夠計算文件中的字數和行數、cat指令能夠拼接文件、head和tail指令能夠把一個大文件分割成許多小文件等等。

在數據分析中八個最有用的Shell指令:https://www.datacamp.com/community/tutorials/shell-commands-data-scientist

Unix Shell是個有用的工具,在實踐中你能經常發現Unix Shell與其他的語言和技術結合使用,在本文中也有很多這樣的例子。

你會經常看到Unix Shell和其他的技術結合使用的情況。比如,在Jupyter文檔裡,你會經常遇到Shell命令行+Phthon代碼的組合。在Jupyter文檔裡如果你想調用Shell命令的話,輸入!然後接著寫shell語句即可實現相應命令的調用。在下面的代碼裡,shell命令ls (這個命令可以列出當前路徑下的所有文件)被賦給了python變量myfiles。

myfiles = !ls

下面這張圖裡的Python代碼能夠將多個數據集合併到一起。注意在這個Jupyter文檔中紅框裡的部分,它就是一個Unix Shell命令。

請注意,上圖中的例子並不是什麼特殊用法,我們只是通過它來告訴大家Unix Shell是怎麼用的。如果大家意猶未盡還想多學一點Unix和數據科學相關的技術的話,我們強烈推薦Datacamp上的入門課程《Introduction to Shell for Data Science》 ,免費的哦。課程中會教授很多大牛數據科學家都不知道的神奇秘技,在實際工作中還是很有用的,值得一看。

課程連結:

https://www.datacamp.com/courses/introduction-to-shell-for-data-science

Mac系統中Unix Shell使用

Mac本來就是基於Unix開發的,所以生來就自帶Unix Shell功能。但是Unix系統的衍生版本太多了,系統和系統之間的Unix Shell指令就會稍有差別。有時候你會發現換了個電腦或者換了個系統之後,很多你熟用的指令就用不了了,比如說wget。為了解決這個問題,Mac上面有人做了一個Homebrew軟體來對其進行管理,就像R語言的包用RStudio管理、Python的包用Anaconda進行管理一樣方便。

如何安裝和使用Homebrew:

https://www.datacamp.com/community/tutorials/homebrew-install-use

Windows系統中的Unix Shell

Windows本身沒有Unix Shell功能,但還是能夠通過安裝一些軟體來在Windows中使用Unix Shell。Git on Windows上就有一些可選的Unix工具,安裝了之後就能在cmd裡愉快的使用Unix Shell了。除此之外,Gnu on Windows和Cygwin(最小100mb)都可以讓Windows上運行Unix Shell。

Gnu on Windows

https://github.com/bmatzelle/gow

Git on Windows

https://hackernoon.com/install-git-on-Windows-9acf2a1944f0

Git

Git是目前最流行的版本控制系統,在各種公司和項目中使用極其頻繁。Git能夠記錄用戶對項目的任何修改,所以用戶能夠回滾項目到之前的任意版本。Git能夠幫你更好的進行團隊項目的開發,在很多工作場景都能發現Git的身影。學習Git的好處包括:

記性好:只要是Git管理起來的工程就不會丟,什麼時候想看看以前的樣子都妥妥的

衝突避免:團隊合作中,如果你的修改和別人的修改有衝突的話,Git會提示你,而不是無腦覆蓋,這樣就能夠儘量避免合作場景中由於修改衝突而導致的工程覆蓋問題

同步妥:Git跨平臺能力很好,在什麼系統上都能用Git管理項目,所以在一個跨平臺多人合作的團隊項目中用著特順手

開源輕鬆:Git能讓R和Python開源包的開發更容易

和其他技術的集成

Git和其他技術也經常能混搭使用。之前咱們說過RStudio IDE(回顧一下看這裡https://support.rstudio.com/hc/en-us/articles/200532077-Version-Control-with-Git-and-SVN),它大概是目前最好用的R語言編程環境,在RStudio裡面就有版本控制的功能,而且大多數的Python IDE裡也都有版本控制功能。你以為他們會下老本自己開發一個版本控制軟體?別傻啦,它們就是把Git集成起來而已,簡單粗暴又有效。

RStudio IDE

https://support.rstudio.com/hc/en-us/articles/200532077-Version-Control-with-Git-and-SVN

如果你想學更多的Git在數據科學中的使用方法和技術的話,我們推薦您去看DataCamp上的課程 《Introduction to Git for Data Science》,還是免費的哦。

Introduction to Git for Data Science

https://www.datacamp.com/courses/introduction-to-git-for-data-science

安裝Git

下面的連結教你怎麼安裝Git,有Mac和Windows版本:

在蘋果系統上安裝Git

https://hackernoon.com/install-git-on-mac-a884f0c9d32c

Install Git on Windows

在Windows系統上安裝Git:

https://medium.com/m/global-identity?redirectUrl=https://hackernoon.com/install-git-on-Windows-9acf2a1944f0

這作者怎麼也不提供個Linux的,看不起我們嘛!燙燙燙燙燙,難過讓我溢出,所以為什麼是VS的溢出,算了算了……

總結

本教程主要講了怎麼在自己的計算機中搭建數據科學環境。值得注意的是,文中的技術通常是搭配出現的。如果對這個教程有任何問題的話,可以在作者的Twitter中留言詢問。當然了,也歡迎隨時查看作者的Github或者Medium博客來查看其他的安裝教程。

作者的Twitter

https://twitter.com/GalarnykMichael

作者的Github

https://github.com/mGalarnyk/Installations_Mac_Ubuntu_Windows

Medium博客

https://medium.com/@GalarnykMichael

相關報導:

https://www.datacamp.com/community/tutorials/setup-data-science-environment

【今日機器學習概念】

志願者介紹

相關焦點

  • 如何在計算機上配置數據科學開發環境
    ,在個人計算機上同時使用這些武器可能會對新入門的數據科學家們造成不小的困擾,本文就將帶你學習這些數據科學武器的配置方法。網絡上有許多不同版本的python,但是對於數據科學來說,Anaconda Python發行版是使用最廣泛的。
  • 學習Python第一步,開發環境的選擇
    如何在電腦上面建立Python工作環境?本文會解答這個問題。
  • Windows配置tensorflow開發環境
    TensorFlow是一個基於數據流編程(dataflow programming)的符號數學系統,被廣泛應用於各類機器學習(machine learning
  • 基於大數據的軟體智能化開發方法與環境
    整個方法體系和環境以開源及企業軟體項目代碼倉庫、交付製品、部署和運維監控等多種類型的軟體開發數據源為基礎,包含軟體大數據匯聚及知識提煉、軟體智能化開發支持、軟體智能化開發服務3個層次。其中,軟體大數據匯聚及知識提煉通過自動化的方法採集和匯聚各種類型的軟體開發數據,形成自生長的多源異構軟體大數據環境,在此基礎上,以知識圖譜、經驗案例、分類器、規則、模板等多種形式提煉和抽取各種軟體開發知識。
  • 計算機科學與計算機工程有什麼不同?
    計算機科學與計算機工程有什麼不同?簡易而言,計算機科學專業關鍵學習培訓和科學研究開發軟體行業,更 側重於理論與實踐 ;計算機工程專業聚焦點在計算機系統行業,具有應用型。人們以apple手機上的開發設計為例,計算機系統技術工程師設計方案集成ic的集成電路晶片,使顯示屏、存儲晶片、微控制器、錄音機和控制板等部件協調工作。
  • Deepin開發真香!Java開發環境全套安裝及配置圖文教程
    序言本文主要介紹如何在Deepin作業系統中配置完整的Java開發環境,配置內容如下:JDK:JDK的下載、安裝和配置Maven:Maven的下載、安裝和配置IDEA:IntelliJ IDEA的下載、安裝和配置
  • 計算機科學和數據科學的區別
    計算機科學專業是大學生選擇的最熱門專業之一,同時也是移動網際網路蓬勃發展下就業市場上需求最大的專業之一。但除了CS以外,我們發現在招聘市場出現了一個新興起的熱門職業 Data Science 數據科學。計算機科學和數據科學有什麼實質性的差異呢?
  • 小浩和你一起學編程|C語言開發環境配置
    高級語言是面向人類的,不同於機器語言是面向機器的,它的出現使程式設計師擺脫了計算機硬體的限制,把主要精力放在了程序設計上,不在關注底層的計算機硬體。 下面我們即將開始學習的C語言便是一種高級語言。
  • 計算機科學和數據科學區別是什麼?
    Computer Science 計算機科學專業是大學生選擇的最熱門專業之一,同時也是移動網際網路蓬勃發展下就業市場上需求最大的專業之一。但除了CS以外,我們發現在招聘市場出現了一個新興起的熱門職業 Data Science 數據科學。計算機科學和數據科學有什麼實質性的差異呢?
  • Python數據科學實踐 | 初步搭建數據科學工作環境
    ⽆⼈否認,在⽇新⽉異的現代社會,「⼤數據」時代已經悄然降臨。由於其在多個⾏業和學科領域中的⾼度滲透,並且在不同專業領域的數據研究中表現出⾼度融合的趨勢,⼤數據已經成為包含計算機科學和統計學在內的多個學科領域的新研究⽅向。同時,由於在⼤數據⽅⾯的研究尚且存在諸多誤區,⼈們迫切地需要對「⼤數據」時代的新現象、 理論、⽅法、技術、⼯具和實踐進⾏系統的研究。因⽽,「數據科學」應運⽽⽣。
  • OpenGL課程1:配置開發環境
    這門課程的前置基礎:雜貨鋪裡Danny之前寫的圖形學入門課程C/C++程式語言開發環境:或者為了統一大家的開發環境,這門課裡採用Clion。本人的工作環境是Macbook,所以接下來的內容主要會圍繞Macbook+Clion環境配置OpenGL來講解。第一步:Install BrewBrew 是Macbook上用來安裝和管理各種工具的的command工具。
  • UOW 伍倫貢大學,計算機科學雙學位課程推薦
    信息技術與計算機科學是時下最熱門的學科,未來職業發展前景非常光明。但在這競爭越來越激烈的環境下,僱主也開始追尋跨領域的人才,從而造就了學生在選擇學科上偏向於選擇交叉學科。交叉學科能夠讓學生學習更多更廣不同領域的知識,使自身有能力以不同專業視角來看待事物!因此,這樣的課程設計得到許多學生的追捧。
  • java大數據之Hadoop開發環境
    JAVA和大數據是什麼關係大數據框架的編寫支持很多開發語言,但是Java在大數據開發方面有很大的優勢,目前流行的大數據Hadoop
  • 英國留學計算機科學專業如何
    計算機英國留學就業又是如何呢?我們要了解哪些內容呢?看立思辰留學小編給大家介紹的內容,一起了解吧。  網絡及資訊保安  網絡安全從其本質上來講就是網絡上的信息安全。從廣義來說,凡是涉及到網絡上信息的保密性、完整性、可用性、真實性和可控性的相關技術和理論都是網絡安全的研究領域。  英國留學就業畢業後,英國留學申請的學生可以在政府、國防、軍事、電信、電力、金融、鐵路等部門管理和服務計算機網絡系統和信息安全。
  • 深度學習筆記15:ubuntu16.04 下深度學習開發環境搭建與配置
    到Adam深度學習筆記7:Tensorflow入門深度學習筆記8:利用Tensorflow搭建神經網絡深度學習筆記9:卷積神經網絡(CNN)入門深度學習筆記10:三維卷積、池化與全連接深度學習筆記11:利用numpy搭建一個卷積神經網絡深度學習筆記12:卷積神經網絡的Tensorflow
  • 【院系介紹】UCI電子電氣與計算機科學工程系
    今天小編將帶你走進UCI Samueli工學院的電子電氣與計算機科學工程系,看看他們的科研方向。本期我們介紹電子電氣與計算機科學工程系(Department of Electrical Engineering and Computer Science, EECS)。
  • 計算機科學CS跟計算機工程CE的區別在哪?各自的發展方向分別是?
    計算機工程CE:計算機工程是計算機科學和電子工程的交叉學科專業。它專注於各種形式的計算,從微處理器到嵌入式計算設備,從筆記本電腦和桌面系統到超級計算機。因此,它更關注微處理器如何工作、設計以及優化,需要考慮如何在電子元件之間實現有效傳輸數據;如何設計電子元件的綜合系統、如何處理軟體內指令以及如何針對特定的硬體平臺編寫、編譯和優化軟體。
  • youtube上最好的數據科學頻道
    公眾號關注 「程式設計師遇見GitHub」這是阿三的第 208 期分享 作者 | 阿三首發 | 程式設計師遇見GitHub大家好,我是阿三,今天給大家帶來的是一篇推薦youtube上一些數據科學頻道的博客StatQuest由Joshua Starmer創立,目的是向他以前的同事解釋統計學和數據科學知識。
  • 在過去的一年裡,我是如何自學數據科學的?
    我的目標是在缺乏資金的前提下,從事我熱愛的數據科學職業。在過去幾個月裡,我取得了很多成就。我發布了自己的網站,並獲得了一個很不錯的計算機科學研究生課程獎學金。在本文中,我總結了自己是如何自學數據科學的,希望能給你有所幫助,讓你更加順利地開啟自己的數據科學職業生涯。
  • 四川師範大學文理學院計算機科學與信息工程系專業介紹
    專業簡介  計算機科學與技術(軟體工程方向)本科學制四年  培養目標本專業方向旨在培養具有紮實的計算機科學理論與軟體工程核心專業知識,具備規範的軟體設計開發能力與項目管理能力,並掌握多種軟體開發工具、了解最新軟體開發思想和方法的高技術人才;並面向軟體產業和IT企業的人才需求,培養從事軟體分析、設計、編碼、測試、維護等技術崗位的應用型人才。