本書以構(gòu)建完整的知識(shí)體系為目標(biāo),按照從簡單到復(fù)雜的思路,貫穿了數(shù)據(jù)處理與挖掘的各個(gè)環(huán)節(jié),具體包括:Python快速入門、Python數(shù)據(jù)類型、Python常用模塊、Python數(shù)據(jù)獲取、Python數(shù)據(jù)挖掘基礎(chǔ)、Python數(shù)據(jù)挖掘算法、Python大數(shù)據(jù)挖掘和Python數(shù)據(jù)可視化。此外,針對(duì)各知識(shí)點(diǎn),本書均設(shè)計(jì)了相應(yīng)的Python案例,并給出了實(shí)現(xiàn)代碼、效果圖以及相應(yīng)的解釋,以強(qiáng)化讀者對(duì)各知識(shí)點(diǎn)的理解與掌握。
本書可作為高等院校人工智能、計(jì)算機(jī)科學(xué)與技術(shù)、經(jīng)濟(jì)與金融等專業(yè)的教材,也可供大數(shù)據(jù)分析與處理等領(lǐng)域的技術(shù)人員學(xué)習(xí)使用,還可作為數(shù)據(jù)分析與挖掘研究人員的參考用書。
1.本書助力讀者使用Python編程語言分析數(shù)據(jù),并且能夠設(shè)計(jì)和應(yīng)用模型以在數(shù)據(jù)中提取知識(shí),進(jìn)而對(duì)其進(jìn)行可視化處理;
2.任務(wù)驅(qū)動(dòng)的知識(shí)學(xué)習(xí)過程,如結(jié)合數(shù)據(jù)挖掘知識(shí)探索一個(gè)地區(qū)最近房價(jià)波動(dòng)的規(guī)律、天氣變化的規(guī)律、當(dāng)前大眾關(guān)心和討論的熱點(diǎn)話題等;
3.作者長期從事數(shù)據(jù)分析、人工智能、Linux編程等課程的教學(xué)工作。主要研究方向包括大數(shù)據(jù)分析與挖掘、智能駕駛等;
4.三步驟:數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)模型構(gòu)建、數(shù)據(jù)可視化,此過程即可提升學(xué)生的實(shí)踐能力,加固學(xué)生對(duì)理論知識(shí)的深入理解;
5.針對(duì)各知識(shí)點(diǎn)均設(shè)計(jì)了相應(yīng)的Python案例,并給出了實(shí)現(xiàn)代碼、效果圖以及相應(yīng)的解釋,以強(qiáng)化讀者對(duì)各知識(shí)點(diǎn)的理解與掌握。
【吳振宇】
北京航空航天大學(xué)工學(xué)博士,南京郵電大學(xué)物聯(lián)網(wǎng)學(xué)院教師,中國指揮與控制學(xué)會(huì)認(rèn)知與行為專業(yè)委員會(huì)委員,中國計(jì)算機(jī)學(xué)會(huì)網(wǎng)絡(luò)與數(shù)據(jù)通信專業(yè)委員會(huì)委員。具有長達(dá)4年的外商投資企業(yè)軟件開發(fā)經(jīng)驗(yàn),長期從事數(shù)據(jù)分析、人工智能、Linux編程等課程的教學(xué)工作。主要研究方向包括大數(shù)據(jù)分析與挖掘、智能駕駛等。
第 1章 Python快速入門 1
1.1 一種簡單的編程語言 2
1.1.1 Python--解釋型編程語言 2
1.1.2 Python應(yīng)用 3
1.2 Python開發(fā)環(huán)境 4
1.2.1 搭建簡單的Python開發(fā)環(huán)境 4
1.2.2 功能強(qiáng)大的集成開發(fā)環(huán)境 6
1.2.3 交互式開發(fā)環(huán)境 6
1.3 Python中簡單的程序結(jié)構(gòu) 8
1.3.1 文件是代碼的基本組成單元 8
1.3.2 模塊化地組織代碼 8
1.3.3 代碼縮進(jìn)區(qū)分邏輯關(guān)系 10
1.3.4 輸入和輸出提升程序交互性 10
1.3.5 常見的Python解釋器 11
1.4 習(xí)題 12
第 2章 Python數(shù)據(jù)類型 13
2.1 數(shù)據(jù)類型是數(shù)據(jù)表示的基礎(chǔ) 14
2.1.1 Python中一切皆對(duì)象 14
2.1.2 數(shù)字類型 14
2.1.3 布爾類型 15
2.1.4 字符串類型 15
2.1.5 自定義數(shù)據(jù)類型 16
2.1.6 變量 17
2.2 語句組成邏輯結(jié)構(gòu) 18
2.2.1 運(yùn)算符和表達(dá)式 19
2.2.2 語句 20
2.3 控制程序的執(zhí)行 21
2.3.1 順序結(jié)構(gòu) 21
2.3.2 分支結(jié)構(gòu) 21
2.3.3 循環(huán)結(jié)構(gòu) 22
2.4 有效存儲(chǔ)數(shù)據(jù) 24
2.4.1 列表 25
2.4.2 元組 27
2.4.3 字典 28
2.4.4 集合 29
2.4.5 特殊運(yùn)算符 30
2.5 函數(shù)實(shí)現(xiàn)代碼復(fù)用 31
2.5.1 自定義函數(shù) 31
2.5.2 內(nèi)置函數(shù) 32
2.5.3 字符串處理函數(shù) 33
2.5.4 函數(shù)式編程 33
2.6 存儲(chǔ)數(shù)據(jù) 35
2.6.1 文件操作 36
2.6.2 JSON和XML 36
2.7 案例:傳感器數(shù)據(jù)分析 40
2.8 習(xí)題 42
第3章 Python常用模塊 43
3.1 模塊的概念 44
3.2 自定義模塊 46
3.3 正則表達(dá)式模塊 46
3.4 NumPy和SciPy模塊 50
3.4.1 NumPy 51
3.4.2 SciPy 59
3.5 Pandas庫 61
3.6 習(xí)題 71
第4章 Python數(shù)據(jù)獲取 73
4.1 Web的客戶端/服務(wù)器工作模式 74
4.1.1 Web數(shù)據(jù)傳輸協(xié)議 75
4.1.2 Web頁面標(biāo)記語言 78
4.1.3 Web樣式設(shè)計(jì) 81
4.2 Python設(shè)計(jì)爬蟲軟件 84
4.2.1 頁面請(qǐng)求庫URLLib 84
4.2.2 增強(qiáng)的網(wǎng)絡(luò)請(qǐng)求庫Requests 88
4.2.3 頁面內(nèi)容解析庫BeautifulSoup 91
4.2.4 案例:在互聯(lián)網(wǎng)上獲取電影評(píng)論數(shù)據(jù) 95
4.2.5 瀏覽器中模擬點(diǎn)擊的Selenium庫 97
4.3 多線程提升數(shù)據(jù)獲取的效率 103
4.3.1 多線程的使用方法 104
4.3.2 案例:多線程在頁面數(shù)據(jù)獲取中的應(yīng)用 106
4.4 習(xí)題 109
第5章 Python數(shù)據(jù)挖掘基礎(chǔ) 111
5.1 數(shù)據(jù)挖掘的基本概念 112
5.1.1 數(shù)據(jù)挖掘中常用的術(shù)語 112
5.1.2 數(shù)據(jù)挖掘的流程 113
5.2 數(shù)據(jù)集是數(shù)據(jù)挖掘的基礎(chǔ) 115
5.2.1 各領(lǐng)域公開了大量的數(shù)據(jù)集 115
5.2.2 自定義數(shù)據(jù) 119
5.3 Python中常用的 數(shù)據(jù)挖掘庫 120
5.3.1 自然語言處理常用的NLTK庫 120
5.3.2 機(jī)器學(xué)習(xí)常用的Sklearn庫 125
5.4 習(xí)題 134
第6章 Python數(shù)據(jù)挖掘算法 135
6.1 數(shù)據(jù)挖掘中的分類 136
6.1.1 分類問題的基本思想 136
6.1.2 常見的分類算法 139
6.1.3 樸素貝葉斯分類算法的原理 145
6.1.4 案例:從頭實(shí)現(xiàn)樸素貝葉斯分類算法 146
6.2 數(shù)據(jù)挖掘中的聚類 148
6.2.1 聚類的基本思想 149
6.2.2 常見的聚類算法 152
6.2.3 K-means聚類算法的原理 168
6.2.4 案例:從頭實(shí)現(xiàn)K-means聚類算法 169
6.3 習(xí)題 171
第7章 Python大數(shù)據(jù)挖掘 173
7.1 深度學(xué)習(xí)是大數(shù)據(jù)處理的重要手段 174
7.1.1 深度學(xué)習(xí)來源于神經(jīng)網(wǎng)絡(luò) 175
7.1.2 深度學(xué)習(xí)已有大量模型 187
7.1.3 深度學(xué)習(xí)框架提升使用效率 191
7.1.4 卷積神經(jīng)網(wǎng)絡(luò)的工作原理 193
7.1.5 LSTM網(wǎng)絡(luò)的工作原理 196
7.1.6 案例:使用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)蔬菜識(shí)別系統(tǒng) 200
7.2 習(xí)題 204
第8章 Python數(shù)據(jù)可視化 207
8.1 可視化技術(shù)自然地展現(xiàn)數(shù)據(jù)規(guī)律 208
8.2 最為常用的Matplotlib庫 208
8.2.1 使用Matplotlib庫繪制各種圖形 211
8.2.2 Pandas庫中直接繪圖 216
8.3 Seaborn庫增強(qiáng)繪圖效果 219
8.4 Plotnine庫彌補(bǔ)可視化不足 225
8.5 案例:房價(jià)數(shù)據(jù)采集及可視化 228
8.6 習(xí)題 231
參考文獻(xiàn) 232