目 錄
第1章 概述 1
1.1 Python數據預處理 1
1.1.1 什么是數據預處理 1
1.1.2 為什么要做數據預處理 2
1.1.3 數據預處理的工作流程 2
1.1.4 數據預處理的應用場景 3
1.2 開發(fā)工具與環(huán)境 3
1.2.1 Anaconda介紹與安裝 3
1.2.2 Sublime Text 7
1.3 實戰(zhàn)案例:個中文分詞程序 12
1.3.1 中文分詞 12
1.3.2 實例介紹 14
1.3.3 結巴實現中文分詞 14
1.4 本章小結 15
第2章 Python科學計算工具 16
2.1 NumPy 16
2.1.1 NumPy的安裝和特點 16
2.1.2 NumPy數組 18
2.1.3 Numpy的數學函數 20
2.1.4 NumPy線性代數運算 22
2.1.5 NumPy IO操作 22
2.2 SciPy 23
2.2.1 SciPy的安裝和特點 23
2.2.2 SciPy Linalg 25
2.2.3 SciPy文件操作 27
2.2.4 SciPy 插值 28
2.2.5 SciPy Ndimage 30
2.2.6 SciPy優(yōu)化算法 33
2.3 Pandas 35
2.3.1 Pandas的安裝和特點 36
2.3.2 Pandas的數據結構 36
2.3.3 Pandas的數據統(tǒng)計 39
2.3.4 Pandas處理丟失值 41
2.3.5 Pandas處理稀疏數據 45
2.3.6 Pandas的文件操作 46
2.3.7 Pandas 可視化 48
2.4 本章小結 54
第3章 數據采集與存儲 55
3.1 數據與數據采集 55
3.2 數據類型與采集方法 56
3.2.1 結構化數據 56
3.2.2 半結構化數據 56
3.2.3 非結構化數據 57
3.3 網絡爬蟲技術 57
3.3.1 前置條件 58
3.3.2 Scrapy 技術原理 58
3.3.3 Scrapy新建爬蟲項目 59
3.3.4 爬取網站內容 61
3.4 爬取數據以JSON格式進行存儲 69
3.5 爬取數據的MySQL存儲 71
3.5.1 MySQL與Navicat部署 71
3.5.2 MySQL存儲爬蟲數據 72
3.6 網絡爬蟲技術擴展 75
3.7 本章小結 76
第4章 文本信息抽取 77
4.1 文本抽取概述 77
4.2 文本抽取問題 78
4.3 Pywin32抽取文本信息 79
4.3.1 Pywin32介紹 79
4.3.2 抽取Word文檔文本信息 80
4.3.3 抽取PDF文檔文本信息 83
4.3.4 打造靈活的文本抽取工具 84
4.4 文本批量編碼 86
4.5 實戰(zhàn)案例:遍歷文件批量抽取新聞文本內容 86
4.5.1 遞歸讀取文件 87
4.5.2 遍歷抽取新聞文本 88
4.6 本章小結 91
第5章 文本數據清洗 92
5.1 新聞語料的準備 92
5.2 高效讀取文件 93
5.2.1 遞歸遍歷讀取新聞 94
5.2.2 yield生成器 95
5.2.3 高效遍歷讀取新聞 97
5.3 通過正則表達式來清洗文本數據 98
5.3.1 正則表達式 98
5.3.2 清洗文本數據 100
5.4 清洗HTML網頁數據 102
5.5 簡繁字體轉換 104
5.6 實戰(zhàn)案例:批量新聞文本數據清洗 106
5.6.1 高效讀取文件內容 106
5.6.2 抽樣處理文件 107
5.6.3 通過正則表達式批量清洗文件 108
5.7 本章小結 109
第6章 中文分詞技術 110
6.1 中文分詞簡介 110
6.1.1 中文分詞概述 110
6.1.2 常見中文分詞方法 111
6.2 結巴分詞精講 112
6.2.1 結巴分詞的特點 112
6.2.2 結巴分詞的安裝 112
6.2.3 結巴分詞核心方法 112
6.2.4 結巴中文分詞的基本操作 113
6.2.5 自定義分詞詞典 114
6.2.6 關鍵詞提取 115
6.2.7 詞性標注 116
6.3 HanLP分詞精講 117
6.3.1 JPype1的安裝 117
6.3.2 調用HanLP的Java包 117
6.3.3 HanLP分詞 118
6.3.4 HanLP實現自定義分詞 120
6.3.5 命名實體識別與詞性標注 120
6.3.6 HanLP實現關鍵詞抽取 121
6.3.7 HanLP實現自動摘要 121
6.4 自定義去除停用詞 122
6.4.1 以正則表達式對文本信息進行清洗 122
6.4.2 結巴中文分詞詞性解讀 124
6.4.3 根據詞性規(guī)則構建自定義停用詞 126
6.5 詞頻統(tǒng)計 126
6.5.1 NLTK介紹與安裝 126
6.5.2 統(tǒng)計新聞文本詞頻 128
6.5.3 統(tǒng)計特定詞頻和次數 129
6.5.4 特征詞的頻率分布表 129
6.5.5 頻率分布圖與頻率累計分布圖 130
6.5.6 基于Counter的詞頻統(tǒng)計 131
6.6 自定義去高低詞頻 132
6.7 自定義規(guī)則提取特征詞 133
6.8 實戰(zhàn)案例:新聞文本分詞處理 134
6.9 本章小結 135
第7章 文本特征向量化 136
7.1 解析數據文件 136
7.2 處理缺失值 138
7.2.1 什么是數據缺失值 138
7.2.2 均值法處理數據缺失值 139
7.2.3 Pandas 處理缺失值 141
7.3 數據的歸一化處理 143
7.3.1 不均衡數據分析 143
7.3.2 歸一化的原理 144
7.3.3 歸一化的優(yōu)點 145
7.4 特征詞轉文本向量 146
7.5 詞頻-逆詞頻(TF-IDF) 147
7.6 詞集模型與詞袋模型 148
7.7 實戰(zhàn)案例:新聞文本特征向量化 153
7.8 本章小結 154
第8章 Gensim文本向量化 155
8.1 Gensim的特性和核心概念 155
8.2 Gensim構建語料詞典 156
8.3 Gensim統(tǒng)計詞頻特征 158
8.4 Gensim計算TF-IDF 158
8.5 Gensim實現主題模型 160
8.5.1 主題模型 160
8.5.2 潛在語義分析(LSA) 161
8.5.3 隱含狄利克雷分布(LDA) 164
8.5.4 LDA的模型實現 166
8.5.5 隨機映射(RP) 167
8.6 實戰(zhàn)案例:Gensim實現新聞文本特征向量化 169
8.6.1 參數設置 169
8.6.2 生成詞典模型 170
8.6.3 生成TF-IDF模型 172
8.7 本章小結 173
第9章 PCA降維技術 174
9.1 什么是降維 174
9.2 PCA概述 175
9.3 PCA應用場景 177
9.4 PCA的算法實現 178
9.4.1 準備數據 178
9.4.2 PCA數據降維 179
9.4.3 高維向低維數據映射 181
9.5 實戰(zhàn)案例:PCA技術實現新聞文本特征降維 182
9.5.1 加載新聞數據 182
9.5.2 前N個主成分特征 184
9.5.3 PCA新聞特征降維可視化 186
9.6 本章小結 187
第10章 數據可視化 188
10.1 Matplotlib概述 188
10.1.1 認識 Matplotlib 188
10.1.2 Matplotlib的架構 190
10.2 Matplotlib繪制折線圖 193
10.2.1 折線圖的應用場景 193
10.2.2 折線圖的繪制示例 193
10.3 Matplotlib繪制散點圖 195
10.3.1 散點圖的應用場景 195
10.3.2 散點圖的繪制示例 195
10.4 Matplotlib繪制直方圖 197
10.4.1 直方圖的應用場景 197
10.4.2 直方圖的繪制示例 197
10.5 練習:Matplotlib繪制氣溫圖 198
10.6 練習:Matplotlib繪制三維圖 200
10.6.1 練習1:繪制三維梯度下降圖 200
10.6.2 練習2:繪制三維散點圖 201
10.7 本章小結 203
第11章 競賽神器XGBoost 204
11.1 XGBoost概述 204
11.1.1 認識XGBoost 204
11.1.2 XGBoost的應用場景 205
11.2 XGBoost的優(yōu)點 206
11.3 使用XGBoost預測毒蘑菇 206
11.3.1 XGBoost的開發(fā)環(huán)境及安裝 206
11.3.2 數據準備 207
11.3.3 參數設置 207
11.3.4 模型訓練 208
11.3.5 可視化特征排名 210
11.4 XGBoost優(yōu)化調參 210
11.4.1 參數解讀 211
11.4.2 調參原則 214
11.4.3 調參技巧 215
11.5 預測糖尿病患者 215
11.5.1 數據準備 215
11.5.2 預測器模型構建 216
11.5.3 調參提高預測器的性能 220
11.6 本章小結 228
第12章 XGBoost實現新聞文本分類 229
12.1 文本分類概述 229
12.2 文本分類的原理 230
12.2.1 文本分類的數學描述 230
12.2.2 文本分類的形式化描述 231
12.3 分類模型評估 231
12.4 數據預處理 233
12.4.1 通用的類庫 234
12.4.2 階段1:生成詞典 236
12.4.3 階段2:詞典向量化TF-IDF 238
12.4.4 階段3:生成主題模型 240
12.5 XGBoost分類器 243
12.6 新聞文本分類應用 248
12.7 本章小結 251
參考文獻 252