一个数据科学家需要哪些核心工具包?
作者 |?Rebecca Vickery
譯者 |?天道酬勤?責(zé)編 | 徐威龍
封圖|?CSDN 下載于視覺(jué)中國(guó)
數(shù)據(jù)科學(xué)家的主要作用是將機(jī)器學(xué)習(xí)、統(tǒng)計(jì)方法和探索性分析應(yīng)用到數(shù)據(jù)中,來(lái)提取見(jiàn)解并幫助制定決策。 編程和計(jì)算工具的使用對(duì)該角色來(lái)說(shuō)必不可少。 實(shí)際上,許多人都用這句名言描述該領(lǐng)域:數(shù)據(jù)科學(xué)家比任何軟件工程師都更擅長(zhǎng)統(tǒng)計(jì)科學(xué),也比任何統(tǒng)計(jì)學(xué)家都更擅長(zhǎng)軟件工程。
如果你正踏上學(xué)習(xí)數(shù)據(jù)科學(xué)的旅程,或想要提高現(xiàn)有的技能,那么很有必要了解你所需的工具,以便有效的執(zhí)行這個(gè)角色。
在過(guò)去的十年中,用于數(shù)據(jù)科學(xué)的Python逐漸流行起來(lái),目前是該領(lǐng)域從業(yè)人員最流行的編程語(yǔ)言。在下面的文章中,作者將概述數(shù)據(jù)科學(xué)家使用的核心工具,這些工具主要側(cè)重于基于Python的工具。
1、NumPy?
NumPy是一個(gè)功能強(qiáng)大的庫(kù),用于使用Python執(zhí)行數(shù)學(xué)和科學(xué)計(jì)算。 你會(huì)發(fā)現(xiàn),許多其他數(shù)據(jù)科學(xué)庫(kù)都將它作為運(yùn)行的依賴(lài)項(xiàng),因?yàn)樗腔A(chǔ)科學(xué)軟件包之一。
該工具以N維數(shù)組對(duì)象的形式與數(shù)據(jù)交互。 它提供了用于處理數(shù)組、執(zhí)行數(shù)組運(yùn)算、基本統(tǒng)計(jì)信息和常見(jiàn)的線(xiàn)性代數(shù)計(jì)算(例如叉和點(diǎn)積運(yùn)算)的工具。
2、Pandas
Pandas庫(kù)簡(jiǎn)化了Python中數(shù)據(jù)的操作和分析。 Pandas使用兩個(gè)基本數(shù)據(jù)結(jié)構(gòu)。 它們是Series(一個(gè)一維標(biāo)記的數(shù)組)和一個(gè)DataFrame(一個(gè)二維標(biāo)記的數(shù)據(jù)結(jié)構(gòu))。Pandas軟件包具有多種工具,可以從各種來(lái)源讀取數(shù)據(jù),包括CSV文件和關(guān)系數(shù)據(jù)庫(kù)。
一旦數(shù)據(jù)可以作為這些數(shù)據(jù)結(jié)構(gòu)之一,Pandas會(huì)提供一系列非常簡(jiǎn)單的功能,用于清理、轉(zhuǎn)換和分析數(shù)據(jù)。 這些工具包括處理丟失數(shù)據(jù)的內(nèi)置工具、簡(jiǎn)單的繪圖功能和類(lèi)似Excel的數(shù)據(jù)透視表。
3、SciPy
SciPy是另一個(gè)核心科學(xué)計(jì)算Python庫(kù)。 該庫(kù)是為了與NumPy數(shù)組進(jìn)行交互而構(gòu)建的,并且依賴(lài)于NumPy提供的許多功能。 但是,盡管要使用這個(gè)包,你需要同時(shí)安裝和導(dǎo)入NumPy,無(wú)需直接導(dǎo)入功能,因?yàn)樵摴δ茏詣?dòng)可用。?
Scipy有效地建立在NumPy中可用的數(shù)學(xué)功能上。 在NumPy提供非常快速的數(shù)組操作的地方,SciPy可以處理這些數(shù)組并啟用高級(jí)數(shù)學(xué)和科學(xué)計(jì)算的應(yīng)用。
4、Scikit-learn
Scikit-learn是一個(gè)用戶(hù)友好、全面而強(qiáng)大的機(jī)器學(xué)習(xí)庫(kù)。 它包含將大多數(shù)機(jī)器學(xué)習(xí)技術(shù)應(yīng)用于數(shù)據(jù)的功能,并且為每種功能都提供一致的用戶(hù)界面。
該庫(kù)還提供了用于數(shù)據(jù)清理、數(shù)據(jù)預(yù)處理和模型驗(yàn)證的工具。 它最強(qiáng)大的功能之一是機(jī)器學(xué)習(xí)管道的概念。 這些管道使機(jī)器學(xué)習(xí)中的各個(gè)步驟(例如預(yù)處理、訓(xùn)練等)能夠鏈接到一個(gè)對(duì)象中。
5、Keras
Keras是Python API,旨在提供一個(gè)簡(jiǎn)單的接口來(lái)處理神經(jīng)網(wǎng)絡(luò)。像Tensorflow這樣的流行深度學(xué)習(xí)庫(kù)因不夠友好而臭名昭著。? Keras位于這些框架之上,提供了一種與之交互的友好方式。
Keras支持卷積和循環(huán)網(wǎng)絡(luò),提供對(duì)多后端的支持,并且可以在CPU和GPU上運(yùn)行。?
6、Matplotlib
Matplotlib是Python中基本的繪圖庫(kù)之一。 許多其他流行的繪圖庫(kù)都依賴(lài)于Matplotlib API,包括Pandas繪圖功能和Seaborn。
Matplotlib是一個(gè)非常豐富的繪圖庫(kù),并包含用于創(chuàng)建各種圖表和可視化效果的功能。 此外,它還包含創(chuàng)建動(dòng)畫(huà)和交互式圖表的功能。
7、Jupyter notebooks
Jupyter notebooks是一個(gè)交互式Python編程接口。 在notebook環(huán)境中編寫(xiě)Python的好處在于,它允許你直接在程序中輕松呈現(xiàn)可視化、數(shù)據(jù)集和數(shù)據(jù)摘要。?
這些notebooks也是共享數(shù)據(jù)科學(xué)工作的理想工具,因?yàn)樗鼈兛梢酝ㄟ^(guò)直接在代碼和可視化中包含標(biāo)記文本來(lái)進(jìn)行高度注釋。
8、Python IDE
Jupyter notebooks是一個(gè)編寫(xiě)數(shù)據(jù)科學(xué)代碼的有用地方。然而,在許多情況下,需要將代碼寫(xiě)入可重用模塊中。 如果你正在編寫(xiě)代碼來(lái)將機(jī)器學(xué)習(xí)模型投入生產(chǎn),則尤其需要如此。?
在這些情況下,集成開(kāi)發(fā)環(huán)境(IDE)非常有用,因?yàn)樗鼈兲峁┝嗽S多有用的功能,例如集成的Python樣式指南、單元測(cè)試和版本控制。 作者本人也使用PyCharm,但還有許多其他可用的開(kāi)發(fā)工具。
9、Github
Github是一個(gè)非常流行的版本控制平臺(tái)。 數(shù)據(jù)科學(xué)的基本原則之一是,代碼和結(jié)果應(yīng)該由你自己在將來(lái)的某個(gè)時(shí)間點(diǎn)或由其他人再現(xiàn)。 版本控制提供了一種機(jī)制,可以在線(xiàn)跟蹤和記錄對(duì)工作的更改。
此外,Github支持在項(xiàng)目上進(jìn)行安全形式的協(xié)作。 這是通過(guò)一個(gè)人復(fù)制一個(gè)分支(實(shí)際上是項(xiàng)目的一個(gè)副本),在本地進(jìn)行更改,然后將其上傳以供審核,然后再將其集成到項(xiàng)目中來(lái)實(shí)現(xiàn)的。?
本文簡(jiǎn)要介紹了數(shù)據(jù)科學(xué)工作的核心工具包,感謝你的閱讀,希望這篇文章對(duì)你有用,歡迎評(píng)論區(qū)和我們討論。
推薦閱讀:另一種聲音:容器是不是未來(lái)? GitHub 疑遭中間人攻擊,最大暗網(wǎng)托管商再被黑! 漫畫(huà):什么是 “模因” ? 1 分鐘抗住 10 億請(qǐng)求!某些 App 怎么做到的?| 原力計(jì)劃 2020,國(guó)產(chǎn)AI開(kāi)源框架“亮劍”TensorFlow、PyTorch 探索比特幣獨(dú)特時(shí)間鏈、挖礦費(fèi)用及場(chǎng)外交易的概念 真香,朕在看了!總結(jié)
以上是生活随笔為你收集整理的一个数据科学家需要哪些核心工具包?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 牵手大企,关于图形计算、HPC与AI,N
- 下一篇: 报应!GitHub上线围剿Python计