本書內容涵蓋數據科學和大數據技術的基礎知識,圍繞數據科學的工作流程,詳細介紹了從數據中獲取知識的方法和技術,包括數據采集、數據整理與探索、數據可視化和數據建模預測等。本書介紹了人工智能前沿領域中文本、圖像、語音、序列數據的主流分析處理方法,同時也闡述了基于大數據分布式計算框架處理海量數據的平臺和工具。全書設計收集了多個數據應用案例,采用Python語言及相關科學計算工具包實現數據分析過程,幫助讀者通過實際案例培養數據思維,掌握數據分析的實踐技能,運用統計學、人工智能等先進技術解決實際問題。 本書通俗易懂、實例豐富、技術先進,配備豐富的教學資源,可作為各類高等院校數據科學、大數據技術的入門教材,以及計算機基礎教學較高層次課程的教材,也可以作為數據科學實踐的技術參考書。
宋暉博士、教授,長期從事Web數據挖掘、機器學習和智能信息處理方面的研究和教學工作,主持完成多項數據挖掘、智能分析和信息系統的研發,在數據科學方向有深厚的理論基礎以及豐富的實踐經驗。
目 錄
第1章 數據科學基礎 (1)
1.1 數據科學概述 (1)
1.1.1 數據的力量 (1)
1.1.2 數據科學的知識結構 (2)
1.1.3 數據科學的工作流程 (4)
1.2 數據科學的關鍵技術 (5)
1.2.1 數據采集 (5)
1.2.2 數據預處理 (7)
1.2.3 數據存儲與管理 (8)
1.2.4 數據分析 (9)
1.3 Python數據分析工具 (9)
1.3.1 科學計算集成環境 (9)
1.3.2 Python編譯環境 (10)
1.3.3 Jupyter Notebook (11)
1.4 Python語言基礎 (12)
1.4.1 常用數據類型 (12)
1.4.2 流程控制 (14)
1.4.3 函數和方法庫 (16)
綜合練習題 (17)
第2章 多維數據結構與運算 (18)
2.1 多維數組對象 (18)
2.1.1 多維數組(張量) (18)
2.1.2 一維數組對象 (19)
2.1.3 二維數組對象 (21)
2.1.4 創建多維數組的常用函數 (23)
2.2 多維數組運算 (25)
2.2.1 基本算術運算 (26)
2.2.2 函數和矩陣運算 (27)
2.2.3 隨機數組生成函數 (29)
2.3 案例:隨機游走軌跡模擬 (30)
綜合練習題 (33)
第3章 數據匯總與統計 (34)
3.1 統計的基本概念 (34)
3.1.1 統計的含義 (34)
3.1.2 常用統計量 (35)
3.2 pandas數據結構 (37)
3.2.1 Series對象 (37)
3.2.2 Series對象的數據訪問 (38)
3.2.3 DataFrame對象 (40)
3.2.4 DataFrame對象的數據訪問 (41)
3.3 數據文件的讀/寫 (45)
3.3.1 讀/寫CSV文件和TXT文件 (45)
3.3.2 讀取Excel文件 (48)
3.4 數據清洗 (49)
3.4.1 缺失數據處理 (49)
3.4.2 去除重復數據 (52)
3.5 數據規整化 (52)
3.5.1 數據合并 (52)
3.5.2 數據排序 (55)
3.6 統計分析 (56)
3.6.1 通用函數與運算 (57)
3.6.2 統計函數 (57)
3.6.3 相關性分析 (60)
3.6.4 案例:問卷調查反饋表分析 (60)
綜合練習題 (63)
第4章 數據可視化 (64)
4.1 Python繪圖基礎 (64)
4.1.1 認識基本圖形 (64)
4.1.2 pandas快速繪圖 (64)
4.1.3 Matplotlib精細繪圖 (66)
4.2 可視化數據探索 (71)
4.2.1 繪制常用圖形 (71)
4.2.2 使用pyecharts繪制交互數據圖 (81)
綜合練習題 (85)
第5章 機器學習建模分析 (88)
5.1 機器學習概述 (88)
5.1.1 機器學習與人工智能 (88)
5.1.2 Python機器學習方法庫 (90)
5.2 回歸分析 (90)
5.2.1 回歸分析原理 (90)
5.2.2 回歸分析實現 (91)
5.2.3 回歸分析性能評估 (94)
5.3 分類分析 (96)
5.3.1 分類學習原理 (96)
5.3.2 決策樹 (98)
5.3.3 支持向量機 (102)
5.4 聚類分析 (106)
5.4.1 聚類任務 (106)
5.4.2 K-means算法 (107)
5.4.3 聚類方法的性能評估 (110)
5.5 數據降維 (112)
5.5.1 降維分析方法 (112)
5.5.2 主成分分析 (113)
5.6 集成學習 (115)
5.6.1 隨機森林算法的基本原理 (116)
5.6.2 梯度提升機算法的基本原理 (116)
5.6.3 集成學習建模分析 (117)
綜合練習題 (119)
第6章 神經網絡與深度學習建模分析 (120)
6.1 神經網絡概述 (120)
6.1.1 神經元與感知器 (120)
6.1.2 神經網絡模型 (121)
6.1.3 神經網絡分類實現 (122)
6.2 深度學習 (125)
6.2.1 深度學習的基本原理 (125)
6.2.2 深度學習框架Keras (126)
6.2.3 深度學習建模分析實例 (128)
綜合練習題 (130)
第7章 文本數據處理 (131)
7.1 文本處理概述 (131)
7.1.1 文本處理的常見任務 (131)
7.1.2 文本處理的基本步驟 (132)
7.2 中文文本處理 (134)
7.2.1 中文分詞 (134)
7.2.2 詞性標注 (135)
7.2.3 特征提取 (136)
7.3 實例:垃圾郵件的識別 (140)
7.3.1 數據來源 (140)
7.3.2 基于詞袋模型識別垃圾郵件 (141)
7.3.3 基于詞向量模型識別垃圾郵件 (143)
綜合練習題 (146)
第8章 圖像數據處理 (147)
8.1 數字圖像概述 (147)
8.1.1 數字圖像 (147)
8.1.2 數字圖像類型 (147)
8.1.3 數字圖像處理 (148)
8.2 Python圖像處理 (149)
8.2.1 Python圖像處理庫 (149)
8.2.2 圖像的基本操作 (150)
8.3 案例:深度學習實現圖像分類 (152)
8.3.1 卷積神經網絡 (152)
8.3.2 基于Keras實現圖像分類 (153)
綜合練習題 (157)
第9章 時序數據與語音處理 (158)
9.1 時序數據概述 (158)
9.1.1 時序數據特性 (158)
9.1.2 時序數據特征的提取 (159)
9.2 時序數據分析方法 (161)
9.2.1 時序數據分析過程 (161)
9.2.2 溫度預測實例 (162)
9.3 語音識別技術 (166)
9.3.1 語音識別技術簡介 (166)
9.3.2 語音識別中的時序數據處理 (167)
9.3.3 在線語音識別實例 (169)
綜合練習題 (171)
第10章 大數據技術 (172)
10.1 大數據概述 (172)
10.1.1 大數據的特點 (172)
10.1.2 大數據技術 (174)
10.1.3 大數據基礎設施 (175)
10.2 分布式計算框架 (177)
10.2.1 Hadoop概述 (178)
10.2.2 MapReduce分布式計算 (180)
10.2.3 Spark分布式計算 (182)
10.2.4 Spark分布式計算 (183)
10.3 分布式建模分析工具 (185)
10.3.1 Hadoop Mahout (185)
10.3.2 Spark MLlib (186)
10.3.3 Spark MLlib建模分析 (187)
綜合練習題 (188)
參考資料 (189)