TOP
0
0
【23號簡體館日】限時三天領券享優惠!!
Python程序設計:人工智能案例實踐(簡體書)
滿額折

Python程序設計:人工智能案例實踐(簡體書)

人民幣定價:149 元
定  價:NT$ 894 元
優惠價:87778
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:23 點
相關商品
商品簡介
作者簡介
名人/編輯推薦
目次
書摘/試閱

商品簡介

通過學習本書提供的500多個實際示例,讀者將學會使用交互式IPython解釋器和Jupyter Notebook並快速掌握Python編碼方法。在學習完第1~5章的Python基礎知識以及第6和7章的一些關鍵內容之後,讀者將能夠處理第11~16章中有關人工智能案例的重要實操內容,包括自然語言處理,用於情感分析的Twitter數據挖掘,使用IBM Watson 的認知計算,利用分類和回歸進行的有監督機器學習,通過聚類進行的無監督機器學習,基於深度學習和卷積神經網絡的計算機視覺,基於遞歸神經網絡的深度學習,基於Hadoop、Spark和NoSQL數據庫的大數據處理,物聯網等。讀者還將直接或間接使用基於云的服務,如Twitter、Google Translate、IBM Watson、Microsoft Azure、OpenMapQuest、PubNub等。


作者簡介

保羅·戴特爾

Deitel&Associates公司首席執行官兼首席技術官,畢業於麻省理工學院,擁有38年的計算經驗。保羅是世界上最有經驗的編程語言培訓師之一,自1992年以來一直針對軟件開發人員教授專業課程。他服務過的國際客戶包括思科、IBM、西門子、Oracle、戴爾、富達、美國國家航空航天局肯尼迪航天中心等。他也是國際上最暢銷的編程語言經典圖書的撰寫者,如C++ How to program、C How to program、Java How to program、Visual C# How to Program,等等。


名人/編輯推薦

配套代碼獲取方式:

1、微信關注“華章計算機”

2、在後臺回復關鍵詞:67845

1、便於自學。全書包含160個圖表講解,形象生動;在1-10章的每章結尾都提供數據科學入門案例,讓你邊學邊用。易錯知識點有特別提示。動態可視化效果提供更好的學習反饋。

2、標識清晰。關鍵術語加粗顯示,Python代碼以特殊字體顯示;

3、示例全面。包括代碼段和案例研究形式的538個實操示例;

4、Python知識覆蓋範圍廣:控制語句、函數、字符串、文件、JSON序列化、CSV、異常;

5、數據科學入門:人工智能、基礎統計、模擬、動畫、隨機變量、數據整理、回歸;

6、人工智能、云和大數據案例研究:自然語言處理、Twitter數據挖掘、IBM Watson、機器學習、深度學習、計算機視覺、Hadoop、Spark、NoSQL、IoT。


譯者序

Python簡單易學,且提供了豐富的第三方庫,可以用較少的代碼完成較多的工作,使開發者能夠專注於如何解決問題而只花較少的時間去考慮如何編程。此外,Python還具有免費開源、跨平臺、面向物件、膠水語言等優點,在系統編程、圖形界面開發、科學計算、Web開發、數據分析、人工智能等方面有廣泛應用。尤其是在數據分析和人工智能方面,Python已成為最受開發者歡迎的編程語言之一,不僅大量計算機專業人員選擇使用Python進行快速開發,許多非計算機專業人員也紛紛選擇Python語言來解決專業問題。

由於Python應用廣泛,關於Python的參考書目前已經有很多,但將Python編程與數據分析、人工智能等領域緊密結合的參考書尚不多見。這就導致開發者在學習Python編程時難以與實際應用結合,從而造成不知道如何應用Python去解決實際問題的狀況。2019年,全球暢銷的編程語言教材、專業圖書作家Paul Deitel和Harvey Deitel出版了Python for Programmers一書,書中將Python編程基礎知識與數據分析、人工智能案例研究有效地結合在一起,在Python編程與數據科學、人工智能之間搭建起了橋梁。通過學習本書,開發者可結合理論和實踐,快速掌握應用Python解決數據分析、人工智能問題的方法。

本書由淺入深,共分為四大部分。第一部分為Python基礎知識快速入門,由第1~5章組成,涉及計算機和Python、Python程序設計、控制語句、函數、序列(列表和元組)方面的內容。通過學習該部分,讀者應掌握Python開發環境的使用方法、Python中基礎數據的存儲和處理方法,尤其要熟練運用模塊化思想進行問題分解、通過函數實現各模塊功能。第二部分為Python數據結構、字符串和文件,由第6~9章組成,涉及字典和集合、使用NumPy進行面向數組的編程、字符串、文件和異常方面的內容。通過學習該部分,讀者應掌握字典和集合的適用場景、NumPy存儲數據的優勢和具體使用方法、字符串的常用操作、正則表達式的作用。第三部分為Python高級主題,即第10章的面向物件編程。通過學習該部分,讀者應掌握面向物件的概念及面向物件程序的設計和編寫方法,在實際中熟練運用面向物件的方式搭建系統。第四部分為人工智能、云和大數據案例研究,由第11~16章組成,涉及自然語言處理、Twitter數據挖掘、IBM Watson和認知計算、機器學習、深度學習、大數據方面的內容。通過學習該部分,讀者應掌握運用Python解決數據分析、人工智能相關問題的方法。

除了基礎理論知識之外,本書還提供了500多個實際上機操作示例,其中包括40個具有較大代碼量的完整案例。除了第11~16章結合具體主題給出的案例之外,在第1~10章中,每一章最後還提供了數據科學入門案例。通過研究這些案例,讀者能夠更好地將所學知識與實際相結合,掌握利用Python解決具體問題的方法。

本書的分工如下:王愷負責第9章、第10章、第12章、索引和其他輔助內容的翻譯,並對全書進行統稿;王剛負責第1~4章、第13章的翻譯;於名飛負責第5~8章的翻譯;徐夏負責第11章、第14章和第15章的翻譯;李濤負責第16章的翻譯。

本書可以作為高校計算機專業學生和非計算機專業理工科學生學習Python和數據分析相關課程的教材,同時也可作為Python開發人員的參考手冊。本書附有大量案例,因此特別適合自學者使用。

最後感謝機械工業出版社華章公司的大力支持!由於時間和水平有限,譯稿中難免存在疏漏之處,懇請各位同行和讀者幫忙指正!

譯者

2020年12月

南開大學


目次

審稿人評論
譯者序
前言
作者簡介
開始閱讀本書之前
第一部分 Python基礎知識快速入門
第1章 Python及大數據概述2
1.1 簡介2
1.2 快速回顧面向對象技術的基礎知識3
1.3 Python5
1.4 Python庫7
1.4.1 Python標準庫7
1.4.2 數據科學庫8
1.5 試用IPython和Jupyter Notebook9
1.5.1 使用IPython交互模式作為計算器10
1.5.2 使用IPython 解釋器執行Python程序11
1.5.3 在Jupyter Notebook中編寫和執行代碼12
1.6 雲和物聯網16
1.6.1 雲16
1.6.2 物聯網17
1.7 大數據有多大18
1.7.1 大數據分析22
1.7.2 數據科學和大數據正在帶來改變:用例23
1.8 案例研究:大數據移動應用程序24
1.9 數據科學入門:人工智能――計算機科學與數據科學的交叉學科26
1.10 小結28
第2章 Python程序設計概述29
2.1 簡介29
2.2 變量和賦值語句30
2.3 算術運算31
2.4 print函數、單引號和雙引號34
2.5 三引號字符串36
2.6 從用戶處獲取輸入37
2.7 決策:if語句和比較運算符39
2.8 對象和動態類型43
2.9 數據科學入門:基礎的描述性統計44
2.10 小結46
第3章 控制語句48
3.1 簡介48
3.2 控制語句概述49
3.3 if語句49
3.4 if...else和if...elif...else語句50
3.5 while語句53
3.6 for語句54
3.6.1 可迭代對象、列表和迭代器55
3.6.2 內置函數range55
3.7 增強賦值56
3.8 序列控制迭代和格式化字符串56
3.9 邊界值控制的迭代57
3.10 內置函數range:深入討論59
3.11 使用Decimal類型處理貨幣金額59
3.12 break和continue語句63
3.13 布爾運算符and、or和not63
3.14 數據科學入門:集中趨勢度量―均值、中值和眾數66
3.15 小結67
第4章 函數69
4.1 簡介69
4.2 函數定義70
4.3 多參數函數72
4.4 隨機數生成74
4.5 案例研究:一個運氣遊戲76
4.6 Python標準庫79
4.7 math模塊中的函數80
4.8 在IPython中使用制表符自動補全81
4.9 默認參數值82
4.10 關鍵字參數83
4.11 不定長參數列表83
4.12 方法:屬￿對象的函數84
4.13 作用域規則85
4.14 import:深入討論87
4.15 向函數傳遞參數:深入討論88
4.16 遞歸91
4.17 函數式編程93
4.18 數據科學入門:離中趨勢度量95
4.19 小結96
第5章 序列:列表和元組97
5.1 簡介97
5.2 列表98
5.3 元組102
5.4 序列解包104
5.5 序列切片106
5.6 使用del聲明108
5.7 將列表傳遞給函數109
5.8 列表排序110
5.9 序列搜索111
5.10 列表的其他方法113
5.11 使用列表模擬堆棧115
5.12 列表推導式116
5.13 生成器表達式118
5.14 過濾、映射和歸約118
5.15 其他的序列處理函數120
5.16 二維列表122
5.17 數據科學入門:模擬和靜態可視化124
5.17.1 擲600、60,000、6,000,000次骰子的圖例124
5.17.2 實現擲骰子中不同點數出現次數和百分比的可視化126
5.18 小結132
第二部分 Python數據結構、字符串和文件
第6章 字典和集合136
6.1 簡介136
6.2 字典137
6.2.1 創建字典137
6.2.2 遍歷字典138
6.2.3 基本的字典操作138
6.2.4 字典的keys和values方法140
6.2.5 字典的比較141
6.2.6 示例:學生成績字典142
6.2.7 示例:單詞計數143
6.2.8 字典的update方法144
6.2.9 字典推導式145
6.3 集合146
6.3.1 集合的比較147
6.3.2 集合的數學運算148
6.3.3 集合的可變運算符和方法150
6.3.4 集合推導式151
6.4 數據科學入門:動態可視化151
6.4.1 動態可視化的工作原理152
6.4.2 實現動態可視化154
6.5 小結156
第7章 使用NumPy進行面向數組的編程158
7.1 簡介158
7.2 從現有數據創建數組159
7.3 數組屬性160
7.4 用特定值填充數組162
7.5 從範圍創建數組162
7.6 列表與數組的性能比較:引入%timeit164
7.7 數組運算符165
7.8 NumPy計算方法167
7.9 通用函數168
7.10 索引和切片170
7.11 視圖:淺拷貝171
7.12 視圖:深拷貝173
7.13 重塑和轉置174
7.14 數據科學入門:pandas Series和DataFrame176
7.14.1 Series177
7.14.2 DataFrame181
7.15 小結188
第8章 字符串:深入討論190
8.1 簡介190
8.2 格式化字符串191
8.2.1 表示類型191
8.2.2 字段寬度和對齊方式193
8.2.3 數字格式化193
8.2.4 字符串的format方法194
8.3 拼接和重複字符串195
8.4 去除字符串中的空白字符196
8.5 字符大小寫轉換196
8.6 字符串的比較運算符197
8.7 查找子字

書摘/試閱

本書對Python和數據科學基礎知識進行了清晰的說明。感謝作者指出通過指定種子可以實現隨機數生成器生成結果的可重復性。我喜歡書中使用字典和集合推導式實現簡潔的編程的內容。7.6節展現了優先使用數組的原因,令人信服。本書介紹了良好的防御式編程方式。書中關於pandas Series和DataFrames的介紹非常精彩,是我所見過的最清晰的解釋之一。數據整理部分的內容非常好。自然語言處理講解得也很好!我學到了很多東西。

—Shyamal Mitra,得克薩斯大學高級講師

我很喜歡面向物件編程的內容—使用doctest進行單元測試的做法非常好,因為可以通過docstring完成實際測試,從而使編程工作和測試工作能夠同步進行。擲骰子示例中靜態可視化和動態可視化的逐行說明非常棒。

真的很喜歡使用f字符串,而不是使用老式的字符串格式化方法。與基本的NLTK相比,TextBlob更容易使用,本書介紹了這一點。我以前從來沒有用圖形制作過詞云,但是可以看到這是激勵人們開始使用NLP的一個很好的示例。我喜歡本書後半部分的案例研究章節,它們確實很實用。我非常喜歡書中介紹的大數據示例,尤其是物聯網示例。

—Daniel Chen,Lander Analytics公司的數據科學家

這本引人入勝的、高度易讀的書將激發人們的好奇心,並激勵初學者,幫助他們在Python編程、統計分析、數據處理、使用API、數據可視化、機器學習、云計算等方面奠定重要基礎。關於Twitter API應用於情感分析方面的內容非常有用,我曾聽過幾節有關自然語言處理的課程,但本書非常清晰地介紹了相關工具和概念。我喜歡有關使用JSON和pickling進行序列化以及何時應使用哪一種方式的討論(重點是應優先使用JSON而不是pickling),我很高興得知JSON是一種更好、更安全的序列化方法!

—Jamie Whitacre,數據科學顧問

本書通過對示例代碼的詳細解釋,清晰地展現了書中包含的內容。模塊化結構、寬泛的現代數據科學主題以及附帶的Jupyter Notebook中的代碼,使得這本書對於各種背景的讀者來說都是一個絕佳的學習資源。大數據章節很棒,涵蓋了所有相關程序和平臺;IBM Watson章節也很棒,它很好地概述了Watson應用程序。另外,還有很好的翻譯示例,它們提供了“實時獎勵”,讀者一旦執行完任務,就會迅速得到結果,這非常令人滿意。機器學習是一個龐大的主題,本書相關章節對其進行了很好的介紹,我喜歡其中的加利福尼亞房價數據示例,其與業務分析密切相關,這一章也給出了令人驚嘆的可視化結果。

—Alison Sanchez,聖地亞哥大學經濟學專業助理教授

我喜歡計算機科學、數據科學和統計主題的這種新組合。這對於構建不僅僅是將數學和計算機科學課程結合在一起的數據科學程序非常重要。像這樣的書有助於擴展我們的產品範圍以及將Python用作計算機和數據科學主題的橋梁。對於一個使用單一語言(多數情況是這樣)的數據科學程序,我認為使用Python可能是可行的方法。

—Lance Bryant,西盆斯貝格大學

幫助讀者利用大量現有的庫以最少的代碼完成任務。本書在介紹概念知識的同時提供了豐富的Python示例,讀者可以修改這些示例以實現自己的數據科學問題解決方案。我喜歡有關云服務的內容。

我喜歡關於異常和回溯的討論,也非常喜歡Twitter數據挖掘的章節,其中的示例關注真實數據源,並引入了許多分析技術(如可視化、NLP)。我還喜歡Python提供的模塊,這些模塊有助於隱藏一些復雜性。詞云看起來很酷。

使用Python入門NLP非常容易,本書相關內容給我留下了深刻的印象。本書使用Keras對深度學習概念進行了有意義的概述。我喜歡關於流的示例。

—David Koop,馬薩諸塞大學達特茅斯分校助理教授

我喜歡這本書!書中的示例絕對是亮點。

—Irene Bruno博士,喬治·梅森大學

閱讀這本書非常令人興奮。我喜歡它專注於數據科學和用於編寫有用的數據科學程序的通用語言。數據科學部分的內容將本書與其他大多數Python入門書區分開來。

—Harvey Siy博士,內布拉斯加大學奧馬哈分校

在審閱本書的過程中,我學到了很多東西,發現了AI令人興奮的領域。我喜歡深度學習一章,它使我對該領域已經取得的成就感到驚訝。

—José Antonio González Seco,IT顧問

本書介紹了一種令人印象深刻、旨在進行探索和實驗的實用編程方法。

書中涵蓋了一些最現代的Python語法方法,介紹了Python編程風格和文檔的社區標準。機器學習一章在引導人們完成Python中ML所需的樣板代碼方面做得很好,案例研究部分很好地展示了如何完成此任務。該章的示例非常直觀。許多模型評估任務也是非常好的編程實踐。我可以想象到讀者觀看動畫化代碼時一定會非常興奮。

—Elizabeth Wickes,伊利諾伊大學信息科學學院講師

我真的很喜歡實時的IPython輸入輸出方式,也非常喜歡這本Python圖書,我是作者的超級粉絲。

—Mark Pauley博士,內布拉斯加大學奧馬哈分校

本書對大數據概念做了出色介紹,尤其是Hadoop、Spark和IoT主題,所講示例非常現實和實用。作者在結合編程和數據科學主題方面做得非常出色,以易於理解的方式介紹了相關內容,並附有操作示例。幾乎所介紹的所有概念都附帶一個可運行的示例。通過撲克牌圖像示例對Python中的面向物件編程進行了全面的概述,這肯定會吸引讀者。

—Garrett Dancik,東康涅狄格州立大學

一段時間以來,我一直在尋找一本基於Python的數據科學主題的書,這本書應涵蓋最相關的那些技術。我終於找到了。本書是該領域從業人員的必備書籍。機器學習章節真的值得推薦!動態可視化效果很棒。

—Ramon Mata-Toledo,詹姆斯·麥迪遜大學教授


“塔爾山上有黃金!”

歡迎閱讀本書!在本書中,讀者將學習當今最引人注目的前沿計算技術,並使用Python進行編程。Python是世界上最流行的語言之一,也是編程語言中使用人數增長最快的一種。

開發者經常會很快地發現自己喜歡Python。他們會欣賞Python的表達力、可讀性、簡潔性和交互性,也會喜歡開源軟件開發環境,這個開源環境正在為廣泛的應用領域提供快速增長的可重用軟件基礎。

幾十年來,一些趨勢已經強有力地顯現出來。計算機硬件已經迅速變得更快、更便宜、更小;互聯網帶寬已經迅速變得越來越大,同時也越來越便宜;優質的計算機軟件已經變得越來越豐富,並且通過“開源”方式免費或幾乎免費;很快,“物聯網”將連接數以百億計的各種可想象的設備。這將導致以快速增長的速度和數量生成大量數據。

在今天的計算技術中,最新的創新都是關於數據的—數據科學、數據分析、大數據、關係數據庫(SQL)以及NoSQL和NewSQL數據庫,我們可以通過Python編程的創新處理方式解決每一個問題。

需要數據科學技能的工作

2011年,麥肯錫全球研究院發表了報告“Big data: The next frontier for innovation, competition and productivity”。報告認為:“僅美國就面臨著14萬到19萬深度分析人員的缺口,以及150萬能分析大數據並可根據分析結果做決策的經理和分析師的缺口。”目前情況仍然如此。2018年8月的“LinkedIn Workforce Report”稱,美國數據科學人員的缺口超過15萬。來自IBM、Burning Glass Technologies和商業高等教育論壇的2017年報告稱,到2020年,美國有數十萬個需要數據科學技能的新工作崗位。

模塊化結構

本書的模塊化結構(見下圖)有助於滿足各種專業讀者的多樣化需求。

第1~10章介紹Python編程。在這些章中,每一章都包括一個簡短的數據科學入門部分,用於介紹人工智能、基礎的描述性統計、集中趨勢度量、離中趨勢度量、模擬、靜態和動態可視化、用於數據探索和數據整理的pandas、使用CSV文件、時間序列和簡單線性回歸。這些內容將幫助讀者為第11~16章中數據科學、人工智能、大數據和云案例研究方面的學習做好準備,讀者通過學習完整的案例研究可學會使用真實的數據集。

在學習完關於Python編程的第1~5章所有內容及第6~7章的部分關鍵內容之後,讀者將能夠理解第11~16章中的大部分案例研究。前言後面的“章節依賴性”部分將幫助教師在本書獨特的結構背景下規劃他們的專業課程。

第11~16章充滿了酷炫、強大、新穎的例子,提供了多種主題的實踐案例研究,如自然語言處理,Twitter數據挖掘,IBM Watson認知計算,包括分類和回歸在內的有監督機器學習,聚類無監督機器學習,卷積神經網絡深度學習,遞歸神經網絡深度學習,包括Hadoop、Spark、NoSQL、物聯網在內的大數據等。在此過程中,讀者將掌握廣泛的數據科學術語和概念,從簡短的定義到在小型、中型和大型程序中使用的概念。通過瀏覽本書詳細的目錄和索引能夠了解本書所覆蓋的內容。

主要特點

保持簡單(KIS)、保持小規模(KIS)、保持前沿(KIS)

保持簡單—在本書的每個方面,我們都力求簡潔明了。例如,當介紹自然語言處理時,我們使用簡單直觀的TextBlob庫而不是更復雜的NLTK。在深度學習中,我們使用Keras而不是TensorFlow。通常,當可以使用多個庫來執行類似的任務時,我們使用最簡單的那一個。

保持小規模—本書538個示例中的大多數都規模很小,通常只有幾行代碼,且後面跟著IPython的實時交互式運行結果。書中也包含了40個較大的腳本和深入的案例研究。

保持前沿—我們閱讀了大量最新的Python編程和數據科學書籍,瀏覽、閱讀或觀看了大約15,000篇最新文章、研究論文、白皮書、視頻、博客文章、論壇帖子和文檔片段。這使我們能夠掌握Python、計算機科學、數據科學、人工智能、大數據和云社區的“脈搏”。

實時反饋:用IPython探索、發現和實驗

學習本書的理想方法是,在閱讀的同時運行代碼示例。在整本書中,我們始終使用IPython解釋器,它提供了友好的實時反饋交互模式,以便快速探索、發現和實驗Python及其大量的庫。

大多數代碼都是在小型交互式IPython會話中呈現的。對於每個代碼段,IPython會立即讀取、執行並輸出運行結果。這種實時反饋有助於保持讀者的注意力、促進學習、促進快速原型化並加速軟件開發過程。

本書始終強調實時代碼方法,專注於具有實時輸入和輸出的、完整的、能正常運行的程序。IPython的“神奇之處”在於,當讀者每輸入一行代碼時,代碼都會被實時地執行,這對學習和提高編程實驗效果都有積極作用。

Python編程基礎

本書全面覆蓋了Python編程基礎知識。

討論了Python的編程模型,包括過程編程、函數式編程和面向物件編程。

使用最佳實踐方式,強調當前的習慣用法。

全書都使用了函數式編程風格。4.17節中的表列出了Python函數式編程的大部分關鍵功能,以及介紹它們的章。

538個代碼示例

通過538個真實例子(從單個代碼段到大量的計算機科學、數據科學、人工智能和大數據案例),讀者將看到富有挑戰性和趣味性的關於Python的生動介紹。

讀者將使用人工智能、大數據、云技術(如自然語言處理、Twitter數據挖掘、機器學習、深度學習、Hadoop、MapReduce、Spark、IBM Watson),以及關鍵數據科學庫(NumPy、pandas、SciPy、NLTK、TextBlob、spaCy、Textatistic、Tweepy、scikit-learn、Keras)、關鍵可視化庫(Matplotlib、Seaborn、Folium)等來完成重要任務。

避免煩瑣的數學,傾向於文字解釋

關注數學的概念本質,並將其用於例子中。通過使用諸如statistics、NumPy、SciPy、pandas以及其他許多庫來實現這一點,這些庫隱藏了數學本身的復雜性。因此,讀者可以直接利用線性回歸等數學技術解決問題,而無須了解其背後的數學知識。在機器學習和深度學習的例子中,我們專注於創建用於數學運算但隱藏數學細節的物件。

可視化

67個靜態、動態、動畫和交互式可視化數據(圖表、圖形、圖片、動畫等),可幫助讀者理解概念。

聚焦於Matplotlib、Seaborn、pandas和Folium(用於交互式地圖)所產生的高級可視化效果,而不包括對低級圖形編程的處理。

使用可視化作為教學工具。例如,通過動態模具軋制模擬和條形圖使大數定律更加生動形象。隨著卷數的增加,讀者將看到每個面占總卷數的百分比逐漸接近16.667%(1/6),並且代表百分比的條形的大小逐漸均衡。

可視化對於大數據中的數據探索和展示可重復的研究結果至關重要,其中數據項的數量可以是數百萬、數十億甚至更多。一個常見的說法是,一圖勝千言—在大數據中,一個可視化結果相當於數據庫中數十億、數萬億甚至更多的數據項。可視化使讀者能夠“在4萬公裡的高空看數據”,即以更宏觀的方式查看並了解這些數據。描述性統計對掌握數據概況有所幫助,但可能會產生誤導。例如,Anscombe的四重奏通過可視化展示出:顯著不同的數據集可能具有幾乎相同的描述性統計結果。

展示了可視化和動畫化代碼,以便讀者可以實現自己的代碼。本書還在源代碼文件和Jupyter Notebook中提供動畫,因此讀者可以方便地自定義代碼和動畫化參數,重新執行動畫並查看更改的效果。

數據實驗

第11~16章的數據科學入門和案例研究部分提供了豐富的數據實驗。

讀者將使用許多真實數據集和數據源。可以在線獲得各種各樣的免費開源數據集以進行相關實驗。書中引用的一些網站列出了數百或數千個數據集。

讀者可以將使用的許多庫與熱門數據集捆綁在一起,以方便進行實驗。

讀者將學習如何進行下列操作:數據獲取和分析前的數據準備,使用多種技術分析數據,調整模型並有效地展示結果(尤其是通過可視化),等等。

GitHub

GitHub是查找開源代碼以將其合並到你的項目中(以及將代碼貢獻給開源社區)的絕佳場所。它也是軟件開發者庫中的一個關鍵元素,其中包含版本控制工具,可幫助開發者團隊管理開源(和私有)項目。

讀者將使用各種免費、開源的Python庫和數據科學庫,以及軟件和云服務的免費版、免費試用版和免費增值服務。許多庫都托管在GitHub上。

云計算實踐

大部分的大數據分析都發生在云端,可以輕松地動態擴展應用程序所需的硬件和軟件數量。讀者將使用各種基於云的服務(直接的或間接的),包括Twitter、Google Translate、IBM Watson、Microsoft Azure、OpenMapQuest、geopy、Dweet.io和PubNub。

我們鼓勵讀者使用免費、免費試用或免費增值云服務。我們更喜歡那些不需要使用信用卡支付的服務,因為這樣不會存在意外收到大筆賬單的風險。如果讀者決定使用需要信用卡支付的服務,請確保免費升級的服務不會自動跳轉到付費升級。

數據庫、大數據和大數據基礎設施

根據IBM(2016年11月)的報道,世界上90%的數據都是在過去兩年中創建的。證據表明,數據創建的速度正在迅速加快。

根據AnalyticsWeek 2016年3月的文章,五年內將有超過500億臺設備連接到互聯網。到2020年,我們將為地球上的每個人每秒生成1.7MB的新數據!

本書包含使用SQLite處理關係數據庫和SQL的內容。

數據庫是對待處理的大量數據進行存儲和操作的關鍵大數據基礎設施。關係數據庫用於處理結構化數據,而不適用於大數據應用程序中的非結構化和半結構化數據。因此,隨著大數據的發展,NoSQL和NewSQL數據庫被創建,以有效地處理這些數據。本書包括關於NoSQL和NewSQL的概述以及使用MongoDB JSON文檔數據庫的實際案例研究。MongoDB是最受歡迎的NoSQL數據庫。

第16章將討論大數據硬件和軟件基礎設施。

人工智能案例研究

在第11~15章的案例研究中,給出了人工智能主題的內容,包括自然語言處理、通過Twitter數據挖掘做情感分析、使用IBM Watson進行認知計算、有監督機器學習、無監督機器學習和深度學習。第16章介紹了大數據硬件和軟件基礎設施,使計算機科學家和數據科學家能夠實施基於AI的尖端解決方案。

內置類型:列表、元組、集合、字典

目前大多數應用程序開發人員都沒有自己創建數據結構的必要。本書用兩章篇幅對Python的內置數據結構(列表、元組、字典和集合)進行了詳細介紹,使用這些數據結構可以完成大多數任務。

使用NumPy數組和pandas的Series、DataFrame進行面向數組的編程

我們還關注來自開源庫的三個關鍵數據結構,包括NumPy數組、pandas Series和pandas DataFrame。它們被廣泛用於數據科學、計算機科學、人工智能和大數據。NumPy提供的數組比內置Python列表在性能上高出兩個數量級。

第7章對NumPy數組進行了詳細介紹。許多庫(如pandas)都是基於NumPy構建的。第7~9章中的數據科學入門部分介紹了pandas的Series和DataFrame,在其他章節中它們會與NumPy數組組合使用來解決一些問題。

文件處理和序列化

第9章介紹了文本文件處理,然後展示了如何使用流行的JSON(JavaScript Object Notation,JavaScript物件表示法)格式序列化物件。JSON在數據科學章節中會被頻繁使用。

許多數據科學庫提供內置的文件處理功能,用於將數據集加載到Python程序中。除了純文本文件之外,我們還使用Python標準庫的csv模塊和pandas數據科學庫的功能,以流行的CSV(逗號分隔數據值)格式處理文件。

基於物件的編程

我們強調使用Python開源社區已經打包到行業標準類庫中的大量有價值的類。 讀者將專注於了解有什麼庫可以使用、選擇應用程序所需要的庫、根據已有的類創建物件(通常使用一行或兩行代碼),並使它們在程序中發揮作用。基於物件的編程使讀者能夠快速、簡潔地構建功能強大的應用程序,這是Python所具有的主要吸引力之一。

使用這種方法,讀者將能夠使用機器學習、深度學習和其他人工智能技術快速解決各種有趣的問題,包括認知計算挑戰,如語音識別和計算機視覺。

面向物件編程

開發自定義類是一項關鍵的面向物件編程技能,同時還包括繼承、多態性和鴨子類型。第10章將討論這些問題。

第10章包括關於使用doctest做單元測試的討論,以及一個有趣的洗牌和分牌模擬的問題。

第11~16章只需要定義一些簡單的自定義類。在Python中,讀者可能會使用更多的基於物件的編程方法,而不是完全面向物件的編程。

可重復性

在一般的科學研究,特別是數據科學研究中,需要復現實驗和研究的結果,並結合這些結果進行有效的交流。Jupyter Notebook是實現這一目標的首選方法。

我們將在整本書中討論編程技術和軟件(如Jupyter Notebook和Docker)的可重復性。

性能

在幾個示例中,我們使用%timeit分析工具比較不同方法執行相同任務的性能。其他性能相關的討論包括生成器表達式、NumPy數組與Python列表、機器學習和深度學習模型的性能,以及Hadoop和Spark分布式計算性能。

大數據和並行化

在本書中,讀者不必編寫自己的並行化代碼,而是讓像Keras這樣的庫運行在TensorFlow上,讓Hadoop和Spark這樣的大數據工具自動為你進行並行化操作。在這個大數據/人工智能時代,為了滿足海量數據應用程序的處理需求,需要利用多核處理器、圖形處理單元(GPU)、張量處理單元(TPU)和云中的大型計算機集群提供的真正並行性。一些大數據任務可以在數千個處理器上並行處理,以便快速完成大量數據的分析


您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 778
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區