本書內容涵蓋數據科學基礎知識,介紹了數據科學的工作流程,包括數據采集、數據整理和探索、數據可視化和數據建模預測等技術,并通過文本、圖像、語音等前沿應用,引入人工智能技術在數據科學領域應用的新成果。全書設計收集了多個數據分析案例,采用Python及相關科學計算工具包介紹數據分析實現的方法,幫助讀者通過實際應用理解數據科學知識,掌握實踐技能,運用統(tǒng)計學、人工智能等技術解決實際問題。本書通俗易懂、實例豐富、技術先進,配備豐富的教學資源,可作為各類大專院校數據科學、大數據技術的入門教材,計算機基礎教學較高層次課程的教材,也可以作為數據科學實踐的技術參考書。
更多科學出版社服務,請掃碼獲取。
中國質量協會學術教育工作委員會委員、天津市工業(yè)工程學會副理事長、天津市現場統(tǒng)計研究會理事
目錄
前言
第1章 數據科學概論1
1.1 數據與大數據1
1.1.1 數據、信息和知識1
1.1.2 大數據3
1.2 數據科學及其工作流程概述4
1.2.1 數據科學概述4
1.2.2 數據科學工作流程4
習題6
第2章 Python基礎7
2.1 Python概述7
2.1.1 計算機語言概述7
2.1.2 Python語言簡介8
2.1.3 Python解釋器及開發(fā)環(huán)境的安裝9
2.2 Python基礎12
2.2.1 Python基礎語法12
2.2.2 Python復雜數據類型13
2.2.3 Python運算符19
2.2.4 Python控制語句20
2.3 函數和類的定義27
2.3.1 Python函數的定義和調用27
2.3.2 Python與面向對象編程30
2.4 Python包31
2.4.1 Python包的結構和導入31
2.4.2 Python常用包簡介33
習題33
第3章 Python常用模塊35
3.1 numpy與矩陣運算35
3.1.1 numpy多維數組基礎35
3.1.2 數組索引39
3.1.3 數組運算40
3.1.4 numpy簡單統(tǒng)計函數41
3.2 基于pandas的數據操縱與管理42
3.2.1 pandas基礎43
3.2.2 DataFrame的切片和計算45
3.2.3 DataFrame數據運算48
3.2.4 數據的合并54
3.3 基于matplotlib和seaborn的數據可視化57
3.3.1 matplotlib數據可視化概述57
3.3.2 matplotlib數據可視化示例60
3.3.3 seaborn數據可視化67
3.4 基于sympy的符號計算74
3.4.1 sympy基礎74
3.4.2 表達式操作75
3.4.3 積分與微分78
3.4.4 sympy方程求解81
3.4.5 sympy與函數可視化82
3.5 基于scipy的科學計算83
3.5.1 scipy線性代數84
3.5.2 數值積分86
3.5.3 插值87
習題91
第4章 基于Python的最優(yōu)化92
4.1 最優(yōu)化問題的形式化定義與分類92
4.2 基于scipy的函數優(yōu)化93
4.2.1 無約束最優(yōu)化93
4.2.2 約束最優(yōu)化98
4.2.3 其他最優(yōu)化算法101
4.3 基于cvxpy的凸優(yōu)化建模與求解103
4.3.1 凸優(yōu)化的基本概念104
4.3.2 cvxpy及凸優(yōu)化問題求解106
4.3.3 凸優(yōu)化問題實例116
4.4 基于gurobipy的數學規(guī)劃建模與求解134
4.4.1 Gurobi簡介134
4.4.2 基于gurobipy求解數學規(guī)劃的步驟135
4.4.3 gurobipy建模與求解實例138
4.4.4 gurobipy中的常用問題轉換技巧145
習題147
第5章 基于Python的統(tǒng)計分析148
5.1 scipy與統(tǒng)計分布148
5.1.1 基于scipy的基本統(tǒng)計分布148
5.1.2 主要離散分布簡介149
5.1.3 主要連續(xù)分布簡介153
5.1.4 抽樣分布158
5.1.5 基本統(tǒng)計分析160
5.2 基于Python的分布參數估計163
5.2.1 參數的點估計164
5.2.2 參數的區(qū)間估計165
5.2.3 存在截尾數據的韋布爾分布參數估計實例167
5.3 假設檢驗169
5.3.1 假設檢驗的基本概念169
5.3.2 scipy中的假設檢驗170
5.4 基于Python的統(tǒng)計模型174
5.4.1 線性回歸174
5.4.2 廣義線性模型179
5.4.3 廣義估計方程181
5.4.4 廣義加性模型182
5.4.5 基于表達式的模型定義184
習題186
第6章 基于Python的機器學習187
6.1 機器學習概述187
6.1.1 機器學習及相關概念187
6.1.2 機器學習的結構189
6.1.3 基于Python的機器學習192
6.1.4 sklearn基礎192
6.2 監(jiān)督學習模型199
6.2.1 分類模型199
6.2.2 回歸模型217
6.2.3 集成方法223
6.3 非監(jiān)督學習算法229
6.3.1 聚類229
6.3.2 高斯混合模型234
6.3.3 流形學習235
6.3.4 信號成分分解237
6.3.5 異常檢測239
6.4 機器學習模型選擇和評估242
6.4.1 模型選擇與評估242
6.4.2 超參數設置247
6.4.3 特征選擇250
6.4.4 模型的保存和讀取252
習題253
第7章 基于PyTorch的神經網絡254
7.1 神經網絡254
7.1.1 神經網絡基本原理254
7.1.2 激活函數255
7.1.3 神經網絡訓練過程256
7.2 基于PyTorch的神經網絡建模257
7.2.1 Torch簡介258
7.2.2 變量和自動求導機制autograd259
7.3 PyTorch神經網絡建模262
7.4 基于PyTorch的神經網絡示例267
7.4.1 回歸問題267
7.4.2 分類問題268
7.4.3 多項式擬合問題269
習題271
第8章 網絡文本數據分析與實踐272
8.1 網絡文本數據分析概述272
8.1.1 網絡數據分析的基本流程272
8.1.2 網絡數據分析主要應用場景273
8.1.3 網絡數據分析典型案例273
8.2 Web應用構成要素及工作流程275
8.2.1 網頁構成要素276
8.2.2 Web訪問請求和響應過程277
8.2.3 靜態(tài)網頁和動態(tài)網頁280
8.2.4 審查網頁元素282
8.3 基于Python的網絡數據獲取283
8.3.1 User-Agent283
8.3.2 基于urllib的網絡數據獲取284
8.3.3 基于requests包的網絡數據獲取287
8.4 網絡數據解析289
8.4.1 正則表達式289
8.4.2 基于lxml的信息提取291
8.4.3 Beautiful Soup293
8.5 文本處理298
8.5.1 數據預處理298
8.5.2 中文分詞300
8.5.3 去除停用詞301
8.5.4 關鍵詞分析302
8.6 文本數據建模與分析306
8.6.1 文本主題模型306
8.6.2 情感分析模型309
習題311
參考文獻312