Jupyter Notebook是一款交互式、功能強大的數(shù)據(jù)科學工具。它不僅高效、易上手,而且提供了強大的數(shù)據(jù)分析和可視化功能。另外,用戶可以在Jupyter Notebook的網(wǎng)頁中完成多種操作,例如編寫代碼并運行、展示代碼的運行結(jié)果、編寫說明文檔等。
《Jupyter金融應用:從入門到實踐》旨在為初學者提供一種快速學習的方法,從基礎(chǔ)知識、金融數(shù)據(jù)處理、機器學習與金融建模、高級功能幾個方面展示了Jupyter Notebook的強大功能以降低讀者完成數(shù)據(jù)分析或建模任務的門檻,幫助讀者運用Jupyter Notebook完成數(shù)據(jù)分析任務,更高效地處理金融數(shù)據(jù)。
《Jupyter金融應用:從入門到實踐》適合數(shù)據(jù)分析人員以及有志于從事金融數(shù)據(jù)分析、金融數(shù)據(jù)建模工作的讀者閱讀,也適合統(tǒng)計學、金融學、計算機等專業(yè)的師生閱讀參考。
1. 北大教研團隊創(chuàng)作
本書由北京大學的教研團隊編寫,融合了作者團隊在計算機編程和金融科技方向的經(jīng)驗成果,想要學習Jupyter編程的讀者,以及想使用Jupyter完成金融數(shù)據(jù)分析或可視化任務的讀者,不要錯過這場名校名師講堂。
2. 內(nèi)容強大
本書主打入門和實戰(zhàn),因此學習門檻較低,從軟件安裝到環(huán)境配置,再到基本的編程學習,都是圖文結(jié)合、簡潔易懂的形式;同時,書中結(jié)合豐富的金融案例,循序漸進地由理論深入到案例實戰(zhàn),更能貼合讀者的實操需求。
3. 配套資源豐富
本書配備豐富的配套資源,包括適合讀者自學的源代碼包、與書配套的彩圖、習題和對應的參考答案;同時,本書為了方便老師們的教學需求,還提供了教學可用的PPT。
傅玉峰 北京大學碩士,先后就職于中國建設(shè)銀行、北京大學信息科學技術(shù)學院,具有豐富的金融大數(shù)據(jù)分析與金融風控建模的經(jīng)驗。 孫惠平 北京大學軟件與微電子學院講師,北京大學網(wǎng)絡與信息安全實驗室和信息科學技術(shù)學院區(qū)塊鏈研究中心成員,研究方向為智能風控、區(qū)塊鏈和身份認證,主講信息安全工程區(qū)塊鏈數(shù)據(jù)分析工具與實踐等課程。 陳鐘 北京大學教授、博導,北京大學信息科學技術(shù)學院區(qū)塊鏈研究中心主任和北京大學網(wǎng)絡與信息安全實驗室主任。中國計算機學會會士、常務理事、信息保密專業(yè)委員會副主任委員,教育部高等學校計算機類教學指導委員會副主任委員,中國軟件行業(yè)協(xié)會副理事長,中國開源軟件推進聯(lián)盟副主席,主要研究領(lǐng)域為面向領(lǐng)域的軟件工程、網(wǎng)絡與信息安全。
第 一部分 基 礎(chǔ) 知 識
第 1章 Jupyter Notebook基礎(chǔ)知識 2
1.1 什么是Jupyter Notebook 2
1.1.1 起源 3
1.1.2 特點 3
1.1.3 應用領(lǐng)域 4
1.2 在Windows上安裝Jupyter Notebook 4
1.2.1 準備工作 5
1.2.2 通過Anaconda安裝 5
1.3 在macOS上安裝Jupyter Notebook 9
1.3.1 準備工作 9
1.3.2 通過Anaconda安裝 10
1.3.3 通過命令行安裝 14
1.4 在Linux上安裝Jupyter Notebook 16
1.4.1 準備工作 16
1.4.2 通過命令行安裝Anaconda 17
1.5 軟件包管理 20
1.5.1 通過Anaconda管理軟件包 20
1.5.2 通過pip管理軟件包 21
1.6 小結(jié) 22
第 2章 Jupyter Notebook界面 23
2.1 主界面 23
2.1.1 文件(Files)界面 24
2.1.2 運行(Running)界面 26
2.1.3 集群(Clusters)界面 27
2.2 菜單欄 27
2.2.1 文件(File)菜單 27
2.2.2 編輯(Edit)菜單 29
2.2.3 查看(View)菜單 29
2.2.4 插入(Insert)菜單 30
2.2.5 單元格(Cell)菜單 30
2.2.6 內(nèi)核服務(Kernel)菜單 31
2.2.7 組件(Widgets)菜單 31
2.2.8 幫助(Help)菜單 33
2.3 工具欄 33
2.4 交互區(qū) 35
2.5 小結(jié) 35
第3章 Jupyter Notebook基礎(chǔ)操作 37
3.1 初次運行 37
3.2 單元格的使用 38
3.2.1 代碼單元格 39
3.2.2 Markdown 單元格 39
3.2.3 原生單元格 40
3.2.4 編輯模式與命令模式 40
3.3 快捷鍵的使用 42
3.3.1 macOS與Windows快捷鍵的差異 42
3.3.2 編輯模式常用快捷鍵 44
3.3.3 命令模式常用快捷鍵 45
3.4 魔法命令的使用 47
3.4.1 魔法命令基本用法 47
3.4.2 常用的魔法命令 48
3.5 命令行的使用 50
3.5.1 命令行的基本用法 50
3.5.2 命令行常用的命令 51
3.6 小結(jié) 52
第4章 Jupyter Notebook文檔編寫 53
4.1 Markdown基本語法 53
4.1.1 標題 54
4.1.2 段落格式 56
4.1.3 文字格式 57
4.1.4 列表格式 59
4.1.5 區(qū)塊格式 60
4.1.6 代碼格式 63
4.1.7 鏈接格式 64
4.1.8 表格格式 65
4.1.9 圖片格式 66
4.2 Markdown高級技巧 68
4.2.1 HTML元素 68
4.2.2 轉(zhuǎn)義 70
4.2.3 公式 71
4.3 文檔共享 73
4.3.1 把文件導出成多種格式 73
4.3.2 使用nbviewer共享 74
4.4 小結(jié) 75
第二部分 金融數(shù)據(jù)處理
第5章 基本數(shù)據(jù)操作 78
5.1 基本數(shù)據(jù)結(jié)構(gòu) 79
5.1.1 元組 79
5.1.2 列表 81
5.1.3 字典 84
5.1.4 集合 87
5.2 NumPy庫 89
5.2.1 NumPy簡介 89
5.2.2 常規(guī)數(shù)組 89
5.2.3 結(jié)構(gòu)化數(shù)組 95
5.2.4 矩陣操作 95
5.3 Pandas庫 97
5.3.1 Pandas簡介 97
5.3.2 Series數(shù)據(jù)結(jié)構(gòu) 97
5.3.3 DataFrame數(shù)據(jù)結(jié)構(gòu) 100
5.4 小結(jié) 108
第6章 數(shù)據(jù)存取 109
6.1 CSV數(shù)據(jù)存取 109
6.1.1 CSV數(shù)據(jù)讀取 110
6.1.2 參數(shù)配置 111
6.1.3 CSV數(shù)據(jù)保存 112
6.2 JSON數(shù)據(jù)存取 113
6.2.1 JSON數(shù)據(jù)讀取 113
6.2.2 參數(shù)遍歷 114
6.2.3 JSON數(shù)據(jù)生成 117
6.3 數(shù)據(jù)庫中的數(shù)據(jù)存取 117
6.3.1 數(shù)據(jù)庫初始化 117
6.3.2 常用操作 119
6.4 文本文件中的數(shù)據(jù)存取 120
6.4.1 文件數(shù)據(jù)讀取 120
6.4.2 常用操作 122
6.5 小結(jié) 123
第7章 數(shù)據(jù)可視化 124
7.1 可視化基礎(chǔ) 124
7.1.1 折線圖 125
7.1.2 柱狀圖 127
7.1.3 散點圖 130
7.1.4 餅圖 134
7.1.5 直方圖 136
7.1.6 箱型圖 139
7.2 可視化進階 142
7.2.1 組合子圖 142
7.2.2 坐標軸的設(shè)置 147
7.2.3 圖形的設(shè)置 155
7.2.4 圖表分享 161
7.3 可視化拓展 161
7.3.1 3D圖 161
7.3.2 熱力圖 166
7.4 小結(jié) 168
第三部分 機器學習與金融建模
第8章 機器學習 170
8.1 機器學習概述 170
8.1.1 基本概念 171
8.1.2 機器學習算法分類 172
8.2 機器學習的常用模型 174
8.2.1 線性回歸 175
8.2.2 邏輯回歸 175
8.2.3 支持向量機 176
8.2.4 決策樹 177
8.2.5 隨機森林 178
8.2.6 K均值聚類 179
8.3 小結(jié) 179
第9章 scikit-learn 180
9.1 安裝 180
9.2 常用函數(shù) 181
9.2.1 線性回歸 182
9.2.2 邏輯回歸 183
9.2.3 支持向量機 185
9.2.4 決策樹 186
9.2.5 隨機森林 188
9.2.6 K均值聚類 189
9.3 小結(jié) 190
第 10章 產(chǎn)品銷售預測模型實例 191
10.1 場景介紹 191
10.2 數(shù)據(jù)準備 192
10.2.1 數(shù)據(jù)探索 192
10.2.2 數(shù)據(jù)劃分 196
10.3 建立模型 197
10.3.1 擬合優(yōu)度 197
10.3.2 模型對比 198
10.4 驗證評估 200
10.4.1 模型表現(xiàn) 200
10.4.2 模型解釋 201
10.5 小結(jié) 202
第 11章 信用評分模型實例 203
11.1 場景介紹 203
11.2 數(shù)據(jù)準備 204
11.2.1 數(shù)據(jù)概況 204
11.2.2 數(shù)據(jù)探索 205
11.2.3 特征選擇 209
11.2.4 數(shù)據(jù)采樣 213
11.3 建立模型 214
11.4 驗證評估 215
11.4.1 分類評價指標 215
11.4.2 橫向?qū)Ρ饶P汀?18
11.5 小結(jié) 221
第 12章 反欺詐模型實例 222
12.1 場景介紹 222
12.2 數(shù)據(jù)準備 223
12.2.1 特征轉(zhuǎn)換 223
12.2.2 特征縮放 224
12.3 建立模型 225
12.3.1 確定類的數(shù)量 226
12.3.2 類的可視化 228
12.4 驗證評估 228
12.5 小結(jié) 229
第四部分 高 級 功 能
第 13章 安全配置 232
13.1 訪問控制 232
13.1.1 設(shè)置訪問域 232
13.1.2 設(shè)置訪問IP 233
13.1.3 端口配置 234
13.1.4 URL前綴配置 234
13.2 安全認證 235
13.2.1 Token認證 236
13.2.2 口令認證 237
13.2.3 取消認證 239
13.3 SSL配置 239
13.3.1 創(chuàng)建SSL證書 240
13.3.2 SSL證書設(shè)置 241
13.4 小結(jié) 242
第 14章 其他內(nèi)核的配置 243
14.1 R內(nèi)核的配置 244
14.1.1 通過Anaconda圖形化界面下載并安裝R內(nèi)核 244
14.1.2 通過conda命令行下載并安裝R內(nèi)核 245
14.1.3 查看安裝結(jié)果并編寫運行一個R腳本 246
14.2 Julia內(nèi)核的配置 247
14.2.1 安裝Julia 247
14.2.2 在Jupyter中配置Julia 249
14.2.3 查看安裝結(jié)果并編寫運行一個Julia腳本 249
14.3 JavaScript內(nèi)核的配置 250
14.3.1 檢查Node.js和npm 250
14.3.2 安裝管理Node.js和npm 251
14.3.3 安裝JavaScript內(nèi)核 252
14.3.4 在Jupyter Notebook中使用JavaScript內(nèi)核 253
14.4 Scala內(nèi)核的配置 254
14.4.1 Java安裝與環(huán)境配置 254
14.4.2 Scala下載與安裝 256
14.4.3 在Jupyter Notebook中使用Scala內(nèi)核 257
14.5 Spark內(nèi)核的配置 258
14.5.1 安裝Spark 258
14.5.2 安裝SBT 259
14.5.3 在Jupyter Notebook中使用Spark內(nèi)核 260
14.6 小結(jié) 264
第 15章 JupyterHub多用戶配置 265
15.1 為什么需要多用戶配置 265
15.2 JupyterHub的安裝 267
15.2.1 準備工作 267
15.2.2 安裝步驟 267
15.2.3 啟動 269
15.3 JupyterHub的配置 270
15.3.1 基礎(chǔ)配置 271
15.3.2 多用戶配置 272
15.4 小結(jié) 274