編輯推薦
Python是適用於數據科學的編程語言。即使你初次接觸Python語言,本書也能教會你通過Python編程來獲取、組織、處理和分析大量的信息並識彆齣趨勢和模式。從安裝Python開始,一直到執行交叉驗證,快用本書開始學習之旅吧!
看看Python為什麼適用於數據科學——瀏覽數據科學管道並學習Python的基本功能。
安裝設置——安裝Python、下載數據集和樣例代碼並用數字和邏輯來工作,創建函數,存儲和索引數據。
可視化——探索MatPlotLib,創建圖錶,包括餅圖、條形圖、直方圖和散點圖。
深入探索——學習類和多進程,為數值型的數據定義描述性的統計量並應用於可視化。
數據處理——研究降維解決方案,執行層次聚類並學習檢測數據中的異常點。
讓數據告訴你一些信息——使用綫性模型並執行交叉驗證、選取和優化。
本書包含以下精彩內容:
· Python數據分析編程基礎
· 有關Python開發環境的一切
· 如何使用隨機分布和迴歸模型
· 對從Web上獲取數據的建議
· 使用NumPy、pandas和SciPy來做什麼
· 用HTML頁麵來工作的提示建議
· 如何來創建交互型的圖錶錶達
· 十個必不可少的數據資源
內容簡介
本書的目標是介紹如何使用Python 語言及其工具,解決和數據科學所關聯的復雜任務。
全書共6 個部分,分22 章,涵蓋瞭Python 數據科學基礎知識,數據的采集、整理、整形、應用,數據的可視化,數據分析和處理,數據學習,以及和數據科學相關的10 個話題等。本書將重點放在使用正確的工具上,教讀者如何使用Anaconda、atPlotLib、NumPy、pandas、Scikit-learn 等常用的工具來解決數據科學的相關問題。
本書適閤對數據科學的知識和應用方法感興趣的讀者閱讀,特彆適閤有誌於學習Python 數據分析和處理的讀者學習參考。
作者簡介
約翰·保羅·穆勒(John Paul Mueller)是一名顧問、應用開發人員、作傢和技術編輯,已經寫瞭超過600篇的文章和97本書。盧卡·馬薩羅(Luca Massaron)是一名數據科學傢,專注於多變量統計分析、機器學習和客戶洞察力等領域。他是意大利Web聽眾分析方麵的先驅,是世界知名的數據科學傢之一。
目錄
第 1 部分 開啓Python 數據科學之門 1
第 1 章 探索數據科學與Python之間的匹配度 3
1.1 定義21 世紀最誘人的工作 5
1.1.1 思考數據科學的齣現 5
1.1.2 概述數據科學傢的核心競爭力 6
1.1.3 連接數據科學和大數據 7
1.1.4 理解編程的角色 7
1.2 創建數據科學管道 8
1.2.1 準備數據 8
1.2.2 執行探索性的數據分析 8
1.2.3 從數據中學習 8
1.2.4 可視化 9
1.2.5 獲得洞察力和數據産品 9
1.3 理解Python 在數據科學中的角色 9
1.3.1 思考數據科學傢的多麵性 9
1.3.2 使用一門多用途、簡單而高效的語言來工作 10
1.4 快速學會使用Python 11
1.4.1 加載數據 11
1.4.2 訓練模型 12
1.4.3 顯示結果 13
第 2 章 介紹Python 的能力和奇跡 14
2.1 為什麼是Python 15
2.1.1 抓住Python 的核心哲學 16
2.1.2 探索現在和未來的開發目標 16
2.2 使用Python 工作 17
2.2.1 品味語言 17
2.2.2 理解縮進的需求 17
2.2.3 用命令行或者IDE 工作 18
2.3 運行快速原型和實驗 22
2.4 考慮執行速度 23
2.5 可視化能力 24
2.6 為數據科學使用Python生態係統 26
2.6.1 使用SciPy 來訪問用於科學的工具 26
2.6.2 使用NumPy 執行基礎的科學計算 26
2.6.3 使用pandas 來執行數據分析 26
2.6.4 使用Scikit-learn 實現機器學習 27
2.6.5 使用matplotlib 來標繪數據 27
2.6.6 使用Beautiful Soup來解析HTML 文檔 27
第3 章 為數據科學設置Python 29
3.1 考慮現成的跨平颱的用於科學的分發包 30
3.1.1 獲取Continuum AnalyticsAnaconda 31
3.1.2 獲取Enthought CanopyExpress 32
3.1.3 獲取pythonxy 32
3.1.4 獲取WinPython 33
3.2 在Windows 上安裝Anaconda 33
3.3 在Linux 上安裝Anaconda 36
3.4 在Mac OS X 上安裝Anaconda 37
3.5 下載數據集和示例代碼 38
3.5.1 使用IPython Notebook 39
3.5.2 定義代碼倉庫 40
3.5.3 理解本書中所使用的數據集 45
第4 章 復習Python 基礎 47
4.1 使用數字和邏輯來工作 49
4.1.1 執行變量賦值 50
4.1.2 做算術運算 50
4.1.3 使用布爾錶達式來比較數據 52
4.2 創建和使用字符串 54
4.3 與日期交互 55
4.4 創建並使用函數 56
4.4.1 創建可復用函數 56
4.4.2 以各種不同的方式調用函數 58
4.5 使用條件和循環語句 61
4.5.1 使用if 語句做決策 61
4.5.2 使用嵌套決策在多個選項間做齣選擇 62
4.5.3 使用for 執行重復任務 63
4.5.4 使用while 語句 64
4.6 使用Sets、Lists 和Tuples來存儲數據 64
4.6.1 在set 上執行操作 65
4.6.2 使用list 來工作 66
4.6.3 創建和使用Tuple 67
4.7 定義有用的迭代器 69
4.8 使用Dictionaries 來索引數據 70
第 2 部分 開始著手於數據 71
第5 章 使用真實數據工作 73
5.1 上傳、流化並采樣數據 74
5.1.1 把少量數據上傳至內存 75
5.1.2 把大量數據流化放入內存 76
5.1.3 采樣數據 77
5.2 以結構化的平麵文件形式來訪問數據 78
5.2.1 從文本文件中讀取 79
5.2.2 讀取CSV 定界的格式 80
5.2.3 讀取Excel 和其他的微軟辦公文件 82
5.3 以非結構化文件的形式來發送數據 83
5.4 管理來自關係型數據庫中的數據 86
5.5 與來自NoSQL 數據庫中的數據進行交互 87
5.6 訪問來自Web 的數據 88
第6 章 整理你的數據 92
6.1 兼顧NumPy 和pandas 93
6.1.1 知道什麼時候使用NumPy 93
6.1.2 知道什麼時候使用pandas 93
6.2 驗證你的數據 95
6.2.1 瞭解你的數據中有什麼 95
6.2.2 去重 96
6.2.3 創建數據地圖和數據規劃 97
6.3 處理分類變量 99
6.3.1 創建分類變量 100
6.3.2 重命名層級 102
6.3.3 組閤層級 102
6.4 處理你數據中的日期 104
6.4.1 格式化日期和時間值 104
6.4.2 使用正確的時間轉換 105
6.5 處理丟失值 106
6.5.1 尋找丟失的數據 106
6.5.2 為丟失項編碼 107
6.5.3 為丟失數據估值 108
6.6 交叉分析:過濾並選取數據 109
6.6.1 切分行 109
6.6.2 切分列 110
6.6.3 切塊 110
6.7 連接和變換 111
6.7.1 增加新的實例和變量 112
6.7.2 移除數據 113
6.7.3 排序和攪亂 114
6.8 在任何層次聚閤數據 115
第7 章 數據整形 117
7.1 使用HTML 頁麵來工作 118
7.1.1 解析XML 和HTML 118
7.1.2 使用XPath 來抽取數據 119
7.2 使用原始文本來工作 120
7.2.1 處理Unicode 碼 120
7.2.2 詞乾提取和停止詞移除 122
7.2.3 介紹正則錶達式 124
7.3 使用並超越詞袋模型 126
7.3.1 理解詞袋模型 127
7.3.2 用n 元文法模型(n-grams)工作 128
7.3.3 實現TF-IDF 變換 130
7.4 使用圖數據來工作 131
7.4.1 理解鄰接矩陣 131
7.4.2 使用NetworkX 基礎 132
第8 章 將你所知的付諸於實踐 134
8.1 將問題和數據置於上下文中去理解 135
8.1.1 評估數據科學問題 136
8.1.2 研究方案 136
8.1.3 構想齣假設 137
8.1.4 準備數據 138
8.2 思考創建特徵的藝術 138
8.2.1 定義特徵創建 138
8.2.2 組閤變量 139
8.2.3 理解分級和離散化 140
8.2.4 使用指示變量 140
8.2.5 變換分布 140
8.3 在數組上執行運算 141
8.3.1 使用嚮量化 141
8.3.2 在嚮量和矩陣上執行簡單的算法 142
8.3.3 執行矩陣嚮量乘法 142
8.3.4 執行矩陣乘法 143
第3 部分 把不可見的東西可視化 145
第9 章 獲得MatPlotLib 的速成課程 147
9.1 開始使用圖錶 148
9.1.1 定義標圖 148
9.1.2 畫多綫條和多標圖 149
9.1.3 保存你的工作 149
9.2 設置軸、刻度和網格 150
9.2.1 得到軸 151
9.2.2 格式化軸 151
9.2.3 添加網格 152
9.3 定義綫條外觀 153
9.3.1 使用綫條樣式工作 153
9.3.2 使用顔色 155
9.3.3 添加標記 155
9.4 使用標簽、注釋和圖例 157
9.4.1 添加標簽 158
9.4.2 注釋圖錶 158
9.4.3 創建圖例 159
第 10 章 將數據可視化 161
10.1 選擇閤適的圖錶 162
10.1.1 用餅圖展示整體的局部組成 162
10.1.2 用柱狀圖來創建比較 163
10.1.3 用直方圖來展示分布 164
10.1.4 使用箱綫圖來描繪組 166
10.1.5 使用散點圖看數據模式 167
10.2 創建高級的散點圖 168
10.2.1 描繪組群 168
10.2.2 展示關聯 169
10.3 標繪時間序列 171
10.3.1 在軸上錶示時間 171
10.3.2 標繪隨時間的趨勢 172
10.4 標繪地理數據 174
10.5 把圖做可視化 176
10.5.1 開發無嚮圖 176
10.5.2 開發有嚮圖 177
第 11 章 理解工具 180
11.1 使用IPython 控製颱 181
11.1.1 與屏幕文本交互 181
11.1.2 改變窗口外觀 182
11.1.3 獲取Python 幫助 184
11.1.4 獲取IPython 幫助 185
11.1.5 使用魔法函數 186
11.1.6 探索對象 187
11.2 使用IPython Notebook 188
11.2.1 使用樣式來工作 189
11.2.2 重啓內核 190
11.2.3 恢復檢查點 191
11.3 執行多媒體和圖像整閤 192
11.3.1 嵌入標圖和其他圖片 192
11.3.2 從在綫網站上加載例子 193
11.3.3 獲取在綫圖像和多媒體 193
第4 部分 處理數據 195
第 12 章 拓展Python 的能力 197
12.1 玩轉Scikit-learn 198
12.1.1 理解Scikit-learn 中的類 198
12.1.2 為數據科學定義應用 199
12.2 執行散列法 202
12.2.1 使用散列函數 202
12.2.2 演示散列法 203
12.2.3 使用確定性選擇來工作 205
12.3 考慮計時和性能 206
12.3.1 用timeit 來做基綫檢測 207
12.3.2 使用內存剖析器來工作 209
12.4 並行運行 210
12.4.1 執行多核並行化 211
12.4.2 演示多核處理 212
第 13 章 探索數據分析 214
13.1 EDA 方法 215
13.2 為Numeric 數據定義描述性的統計量 216
13.2.1 度量集中化趨勢 217
13.2.2 測量方差和區間 217
13.2.3 使用分位數來工作 218
13.2.4 定義正態化度量 219
13.3 為分類型數據計數 220
13.3.1 理解頻率 220
13.3.2 創建列聯錶 221
13.4 為EDA 創建應用可視化 222
13.4.1 檢查箱綫圖 222
13.4.2 在箱綫圖之後執行t檢驗 223
13.4.3 觀察平行坐標 224
13.4.4 為分布作圖 225
13.4.5 標繪散點圖 226
13.5 理解相關性 228
13.5.1 使用協方差和關聯性 228
13.5.2 使用非參數相關性 230
13.5.3 考慮錶格的卡方檢驗 230
13.6 修改數據分布 231
13.6.1 使用正態分布 232
13.6.2 創建Z 評分標準化 232
13.6.3 轉換其他的著名分布 232
第 14 章 降維 234
14.1 理解SVD 235
14.1.1 尋求降維 236
14.1.2 使用SVD 來測量不可見的信息 237
14.2 執行因子和主成分分析 238
14.2.1 考慮心理測量模型 239
14.2.2 尋找隱因子 239
14.2.3 使用成分,而不是因子 240
14.2.4 達成降維 240
14.3 理解一些應用 241
14.3.1 用PCA 來識彆人臉 241
14.3.2 用NMF 來提取主題 244
14.3.3 推薦電影 246
第 15 章 聚類 249
15.1 用K-means 聚類 251
15.1.1 理解基於質心的算法 251
15.1.2 創建使用圖像數據的例子 253
15.1.3 尋找優化解決方案 254
15.1.4 大數據聚類 257
15.2 執行層次聚類 258
15.3 超越圓形簇:DBScan 261
第 16 章 檢測數據中的異常點 265
16.1 考慮異常檢測 266
16.1.1 找齣更多可能齣錯的地方 267
16.1.2 理解異常數據和新奇的數據 268
16.2 檢驗簡單的單變量法 268
16.2.1 利用高斯分布 270
16.2.2 做齣假設並檢驗 270
16.3 開發多變量方法 271
16.3.1 使用主成分分析 272
16.3.2 使用聚類分析 273
16.3.3 使用SVM 將異常檢測自動化 274
第5 部分 從數據中學習 275
第 17 章 探索4 個簡單又有效的算法 277
17.1 猜測數字:綫性迴歸 277
17.1.1 定義綫性模型傢族 278
17.1.2 使用更多變量 279
17.1.3 理解限製和問題 280
17.2 轉移到邏輯迴歸 281
17.2.1 應用邏輯迴歸 281
17.2.2 考慮有更多類的時候 282
17.3 讓事情像樸素貝葉斯(Na veBayes)一樣簡單 283
17.3.1 發現樸素貝葉斯並不是那麼樸素 285
17.3.2 預測文本分類 286
17.4 使用最近鄰來延遲學習 287
17.4.1 觀察鄰居之後做預測 288
17.4.2 明智地選擇k 參數 290
第 18 章 執行交叉驗證、選擇和優化 291
18.1 關於擬閤模型問題的思考 292
18.1.1 理解偏差和方差 293
18.1.2 定義挑選模型的策略 294
18.1.3 劃分訓練集和測試集 296
18.2 交叉驗證 299
18.2.1 使用k 摺交叉驗證 299
18.2.2 復雜數據的分層采樣 300
18.3 像專業人士那樣選擇變量 302
18.3.1 通過單變量度量來選擇 302
18.3.2 使用貪婪搜索 303
18.4 提升你的超參數 304
18.4.1 實現網格搜索 305
18.4.2 嘗試隨機化搜索 309
第 19 章 用綫性和非綫性技巧增加復雜性 311
19.1 使用非綫性變換 312
19.1.1 執行變量變換 312
19.1.2 創建變量間的相互作用 314
19.2 正則化綫性模型 317
19.2.1 依靠Ridge 迴歸(L2) 318
19.2.2 使用Lasso(L1) 319
19.2.3 利用規範化 319
19.2.4 組閤L1 和L2:Elasticnet 320
19.3 逐塊與大數據戰鬥 320
19.3.1 當數據過多時來做決定 321
19.3.2 實現隨機梯度下降 321
19.4 理解支持嚮量機 323
19.4.1 依靠一種計算方法 324
19.4.2 修正很多新參數 327
19.4.3 用SVC 分類 328
19.4.4 走嚮非綫性是簡單的 333
19.4.5 用SVR 來執行迴歸 334
19.4.6 用SVM 創建隨機(stochastic)解決方案 336
第 20 章 理解多數的力量 340
20.1 以樸素
Python數據科學入門 下載 mobi epub pdf txt 電子書 格式