官术网_书友最值得收藏!

1.3 Python包簡(jiǎn)介

算法設(shè)計(jì)好后需要用編程語(yǔ)言來(lái)按照設(shè)計(jì)進(jìn)行實(shí)現(xiàn)。本書(shū)中選擇編程語(yǔ)言Python。之所以選擇它,是因?yàn)镻ython是一種靈活且開(kāi)源的編程語(yǔ)言。對(duì)于越來(lái)越重要的云計(jì)算基礎(chǔ)設(shè)施,如亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)、微軟Azure谷歌云平臺(tái)(GCP),Python也是其首選語(yǔ)言。

Python官方主頁(yè)是https://www.python.org/,其中包含了安裝說(shuō)明和對(duì)你可能有所幫助的初學(xué)者指南。

如果你以前沒(méi)有使用過(guò)Python,最好瀏覽一下初學(xué)者指南,以進(jìn)行自學(xué)。對(duì)Python的基本了解將有助于你更好地理解本書(shū)所介紹的概念。

在本書(shū)中,我希望你能夠使用Python 3的最新版本。在編寫(xiě)本書(shū)時(shí),最新的版本是3.7.3,我們將用它運(yùn)行本書(shū)中的練習(xí)。

1.3.1 Python包

Python是一種通用語(yǔ)言。在設(shè)計(jì)時(shí),它僅帶有最低限度的功能。根據(jù)使用Python的具體目的,你還可以安裝附加包。安裝附加包最簡(jiǎn)單的方法是通過(guò)pip安裝程序。pip命令可以用來(lái)安裝附加包:

已經(jīng)安裝的包需要定期更新,以獲得最新的功能,這可以通過(guò)使用upgrade標(biāo)識(shí)來(lái)實(shí)現(xiàn):

另一個(gè)用于科學(xué)計(jì)算的Python發(fā)行版是Anaconda,它可以從http://continuum.io/downloads下載。

除了使用pip命令安裝新包,對(duì)于A(yíng)naconda發(fā)行版,我們還可以選擇使用如下命令安裝新包:

如果要更新現(xiàn)有的軟件包,Anaconda發(fā)行版提供了另一個(gè)選項(xiàng),可以使用以下命令:

有各種各樣的Python包可供選擇,在接下來(lái)的小節(jié)中將介紹一些與算法相關(guān)的比較重要的包。

SciPy生態(tài)系統(tǒng)

Scientific Python (SciPy)——發(fā)音為sigh pie——是一組為科學(xué)界創(chuàng)建的Python包。它包含許多函數(shù),包括各種隨機(jī)數(shù)生成器、線(xiàn)性代數(shù)程序和優(yōu)化器。SciPy是一個(gè)全面的軟件包,并且隨著時(shí)間的推移,人們開(kāi)發(fā)了許多擴(kuò)展,以根據(jù)自己的需求定制和擴(kuò)展該軟件包。

以下是屬于這個(gè)生態(tài)系統(tǒng)的主要的包:

  • NumPy:對(duì)于算法來(lái)說(shuō),創(chuàng)建多維數(shù)據(jù)結(jié)構(gòu)(如數(shù)組和矩陣)的能力非常重要。NumPy提供了一組數(shù)組和矩陣數(shù)據(jù)類(lèi)型,這些數(shù)據(jù)類(lèi)型對(duì)于統(tǒng)計(jì)和數(shù)據(jù)分析非常重要。關(guān)于NumPy的詳細(xì)信息可以在http://www.numpy.org/找到。
  • scikit-learn:這個(gè)機(jī)器學(xué)習(xí)擴(kuò)展是SciPy最受歡迎的擴(kuò)展之一。scikit-learn提供了一系列重要的機(jī)器學(xué)習(xí)算法,包括分類(lèi)、回歸、聚類(lèi)和模型驗(yàn)證。可以在http://scikit-learn了解更多關(guān)于scikit-learn的細(xì)節(jié)。
  • pandas:pandas是一個(gè)開(kāi)源軟件庫(kù)。它包含了表格型的復(fù)雜數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)在各種算法中廣泛用于輸入、輸出和處理表格數(shù)據(jù)。pandas庫(kù)中包含了許多有用的函數(shù),它還提供了高度優(yōu)化后的性能。想要找到更多關(guān)于pandas的細(xì)節(jié),可以查看http://pandas.pydata.org/
  • Matplotlib:Matplotlib提供了強(qiáng)大的可視化工具。數(shù)據(jù)可以通過(guò)折線(xiàn)圖、散點(diǎn)圖、柱狀圖、直方圖、餅圖等形式呈現(xiàn)。要獲得更多信息,請(qǐng)?jiān)L問(wèn)https://matplotlib.org/
  • Seaborn:Seaborn類(lèi)似于在R語(yǔ)言中流行的ggplot2庫(kù)。它基于Matplotlib,并且提供了優(yōu)秀的界面用于繪制出色的統(tǒng)計(jì)圖形。更多詳情請(qǐng)?jiān)L問(wèn)https://seaborn.pydata.org/
  • iPython:iPython是一個(gè)增強(qiáng)的交互式控制臺(tái),旨在方便編寫(xiě)、測(cè)試和調(diào)試Python代碼。
  • Running Python programs:交互式的編程模式對(duì)代碼的學(xué)習(xí)和實(shí)驗(yàn)很有用。Python程序可以保存在一個(gè)以.py為擴(kuò)展名的文本文件中,并且可以從控制臺(tái)運(yùn)行該文件。

1.3.2 通過(guò)Jupyter Notebook執(zhí)行Python

運(yùn)行Python程序的另一種方式是通過(guò)Jupyter Notebook。Jupyter Notebook提供了一個(gè)基于瀏覽器的用戶(hù)界面來(lái)開(kāi)發(fā)代碼。本書(shū)使用Jupyter Notebook來(lái)展示代碼示例。能夠使用文字和圖形對(duì)代碼進(jìn)行注釋和描述的能力,使其成為展示和解釋算法的完美工具,以及學(xué)習(xí)的絕佳工具。

要啟動(dòng)notebook,需要啟動(dòng)Juypter-notebook程序,然后打開(kāi)瀏覽器,導(dǎo)航到http://localhost:8888(如圖1-4所示)。

圖 1-4

請(qǐng)注意,一個(gè)Jupyter Notebook頁(yè)面由被稱(chēng)為單元格的不同的塊組成。

主站蜘蛛池模板: 寿光市| 桑日县| 工布江达县| 德阳市| 锡林郭勒盟| 娱乐| 芦溪县| 南召县| 城步| 万年县| 共和县| 小金县| 红桥区| 吉首市| 天门市| 南郑县| 独山县| 水富县| 平邑县| 北安市| 广宁县| 开平市| 璧山县| 河北区| 芮城县| 黄梅县| 肃宁县| 宁德市| 东乌珠穆沁旗| 武城县| 平远县| 方正县| 上虞市| 兴国县| 余江县| 富顺县| 太和县| 沂南县| 呈贡县| 叙永县| 婺源县|