PySpark 機器學習、自然語言處理與推薦系統 (Machine Learning with PySpark: With Natural Language Processing and Recommender Systems)

PySpark 機器學習、自然語言處理與推薦系統 (Machine Learning with PySpark: With Natural Language Processing and Recommender Systems)

作者: 普拉莫德·辛格 (Pramod Singh) 蒲成 譯
出版社: 清華大學
出版在: 2020-01-01
ISBN-13: 9787302540908
ISBN-10: 730254090X





內容描述


構建一系列有監督和無監督機器學習算法 使用Spark MLlib庫實現機器學習算法 使用Spark MLlib庫開發推薦系統 處理與特徵工程、分類平衡、偏差和方差以及交叉驗證有關的問題,以便構建最優的擬合模型


目錄大綱


目 錄
 
第1章 數據革命 1
1.1 數據生成 1
1.2 Spark 2
1.2.1 Spark Core 3
1.2.2 Spark組件 4
1.3 設置環境 5
1.3.1 Windows 5
1.3.2 iOS 6
1.4 小結 7
 
第2章 機器學習簡介 9
2.1 有監督機器學習 10
2.2 無監督機器學習 12
2.3 半監督機器學習 14
2.4 強化學習 14
2.5 小結 15
 
第3章 數據處理 17
3.1 加載和讀取數據 17
3.2 添加一個新列 20
3.3 篩選數據 21
3.3.1 條件1 21
3.3.2 條件2 22
3.4 列中的非重複值 23
3.5 數據分組 23
3.6 聚合 25
3.7 用戶自定義函數(UDF) 26
3.7.1 傳統的Python函數 26
3.7.2 使用lambda函數 27
3.7.3 Pandas UDF(向量化的UDF) 28
3.7.4 Pandas UDF(多列) 29
3.8 去掉重複值 29
3.9 刪除列 30
3.10 寫入數據 30
3.10.1 csv 31
3.10.2 嵌套結構 31
3.11 小結 31
 
第4章 線性回歸 33
4.1 變量 33
4.2 理論 34
4.3 說明 41
4.4 評估 42
4.5 代碼 43
4.5.1 數據信息 43
4.5.2 步驟1:創建
SparkSession對象 44
4.5.3 步驟2:讀取數據集 44
4.5.4 步驟3:探究式數據分析 44
4.5.5 步驟4:特徵工程化 45
4.5.6 步驟5:劃分數據集 47
4.5.7 步驟6:構建和訓練線性回歸模型 47
4.5.8 步驟7:在測試數據上評估線性回歸模型 48
4.6 小結 48
 
第5章 邏輯回歸 49
5.1 概率 49
5.1.1 使用線性回歸 50
5.1.2 使用Logit 53
5.2 截距(回歸係數) 54
5.3 虛變量 55
5.4 模型評估 56
5.4.1 正確的正面預測 56
5.4.2 正確的負面預測 57
5.4.3 錯誤的正面預測 57
5.4.4 錯誤的負面預測 57
5.4.5 準確率 57
5.4.6 召回率 57
5.4.7 精度 58
5.4.8 F1分數 58
5.4.9 截斷/閾值概率 58
5.4.10 ROC曲線 58
5.5 邏輯回歸代碼 59
5.5.1 數據信息 59
5.5.2 步驟1:創建Spark會話對象 60
5.5.3 步驟2:讀取數據集 60
5.5.4 步驟3:探究式數據分析 60
5.5.5 步驟4:特徵工程 63
5.5.6 步驟5:劃分數據集 68
5.5.7 步驟6:構建和訓練邏輯回歸模型 69
5.5.8 訓練結果 69
5.5.9 步驟7:在測試數據上評估線性回歸模型 70
5.5.10 混淆矩陣 71
5.6 小結 72
 
第6章 隨機森林 73
6.1 決策樹 73
6.1.1 熵 75
6.1.2 信息增益 76
6.2 隨機森林 78
6.3 代碼 80
6.3.1 數據信息 80
6.3.2 步驟1:創建SparkSession對象 81
6.3.3 步驟2:讀取數據集 81
6.3.4 步驟3:探究式數據分析 81
6.3.5 步驟4:特徵工程 85
6.3.6 步驟5:劃分數據集 86
6.3.7 步驟6:構建和訓練隨機森林模型 87
6.3.8 步驟7:基於測試數據進行評估 87
6.3.9 準確率 89
6.3.10 精度 89
6.3.11 AUC曲線下的面積 89
6.3.12 步驟8:保存模型 90
6.4 小結 90
 
第7章 推薦系統 91
7.1 推薦 91
7.1.1 基於流行度的RS 92
7.1.2 基於內容的RS 93
7.1.3 基於協同過濾的RS 95
7.1.4 混合推薦系統 103
7.2 代碼 104
7.2.1 數據信息 105
7.2.2 步驟1:創建SparkSession對象 105
7.2.3 步驟2:讀取數據集 105
7.2.4 步驟3:探究式數據分析 105
7.2.5 步驟4:特徵工程 108
7.2.6 步驟5:劃分數據集 109
7.2.7 步驟6:構建和訓練推薦系統模型 110
7.2.8 步驟7:基於測試數據進行預測和評估 110
7.2.9 步驟8:推薦活動用戶可能會喜歡的排名靠前的電影 111
7.3 小結 114
 
第8章 聚類 115
8.1 初識聚類 115
8.2 用途 117
8.2.1 K-均值 117
8.2.2 層次聚類 127
8.3 代碼 131
8.3.1 數據信息 131
8.3.2 步驟1:創建SparkSession對象 131
8.3.3 步驟2:讀取數據集 131
8.3.4 步驟3:探究式數據分析 131
8.3.5 步驟4:特徵工程 133
8.3.6 步驟5:構建K均值聚類模型 133
8.3.7 步驟6:聚類的可視化 136
8.4 小結 137
 
第9章 自然語言處理 139
9.1 引言 139
9.2 NLP涉及的處理步驟 139
9.3 語料 140
9.4 標記化 140
9.5 移除停用詞 141
9.6 詞袋 142
9.7 計數向量器 143
9.8 TF-IDF 144
9.9 使用機器學習進行文本分類 145
9.10 序列嵌入 151
9.11 嵌入 151
9.12 小結 160


作者介紹


Pramod Singh是Publicis.Sapient公司數據科學部門的經理,目前正作為數據科學跟踪負責人與梅賽德斯奔馳的一個項目進行合作。
他在機器學習、數據工程、編程,以及為各種業務需求設計算法方面擁有豐富的實踐經驗,領域涉及零售、電信、汽車以及日用消費品等行業。
他在Publicis.Sapient主導了大量應對機器學習和AI的戰略計劃。他在孟買大學獲得了電氣與電子工程的學士學位,並且在印度共生國際大學獲得了MBA學位(運營&財務),還在IIM – Calcutta(印度管理學院加爾各答分校)獲得了數據分析認證。
在過去八年中,他一直在跟進多個數據項目。在大量客戶項目中,他使用R、Python、Spark和TensorFlow應用機器學習和深度學習技術。
他一直是各重大會議和大學的演講常客。他會在Publicis.Sapient舉辦數據科學聚合併且定期出席關於ML和AI的網絡研討會。他和妻子以及兩歲的兒子居住在班加羅爾。閒暇的時候,他喜歡彈吉他、寫代碼、閱讀以及觀看足球比賽。




相關書籍

PyTorch 自然語言處理|以深度學習建立語言應用程式 (Natural Language Processing with PyTorch)

作者 Delip Rao Brian McMahan

2020-01-01

數據可視化原理與實戰——基於Power BI

作者 雷元

2020-01-01

Machine Learning with TensorFlow 1.x: Second generation machine learning with Google's brainchild - TensorFlow 1.x

作者 Quan Hua Shams Ul Azeem Saif Ahmed

2020-01-01