自己動手做推薦引擎

自己動手做推薦引擎

《自己動手做推薦引擎》是2019年11月機械工業出版社出版的圖書,作者是蘇雷什·庫馬爾·戈拉卡拉(Suresh Kumar Gorakala)。本書是一本推薦引擎技術的綜合入門指南,介紹使用R、Python、Spark、Mahout、Neo4j技術實現諸如協同過濾、基於內容的推薦引擎和情境感知推薦引擎的內容。

基本介紹

  • 中文名:自己動手做推薦引擎
  • 作者:蘇雷什·庫馬爾·戈拉卡拉(Suresh Kumar Gorakala)
  • 出版社:機械工業出版社
  • ISBN:9787111641087 
內容簡介,圖書目錄,作者簡介,

內容簡介

推薦引擎,是主動發現用戶當前或潛在需求,並主動推送信息給用戶的信息網路。挖掘用戶的喜好和需求,主動向用戶推薦其感興趣或者需要的對象。近些年該技術得到普遍使用,套用於各種應用程式中。因此,更多的開發者開始關注個性推薦引擎的搭建。本書是人工智慧數據科學家Suresh Kumar Gorakala經多年實踐及研究所著,由淺入深介紹了推薦引擎搭建的方法,並展望了推薦引擎的未來發展。

圖書目錄

作者簡介
技術評審員簡介
前言
第1章 推薦引擎介紹 1
1.1推薦引擎定義 1
1.2推薦系統的必要性 3
1.3大數據對推薦系統的推動作用 4
1.4推薦系統類型 4
1.4.1協同過濾推薦系統 4
1.4.2基於內容的推薦系統 5
1.4.3混合推薦系統 6
1.4.4情境感知推薦系統 7
1.5推薦系統技術的發展 8
1.5.1Mahout在可擴展推薦系統中的套用 8
1.5.2Apache Spark在可擴展實時推薦系統中的套用 9
1.6本章小結 12
第2章 構建個推薦引擎 13
2.1構建基礎推薦引擎 14
2.1.1載入並格式化數據 15
2.1.2計算用戶相似度 17
2.1.3為用戶預測未知評級 18
2.2本章小結 24
第3章 推薦引擎詳解 25
3.1推薦引擎的發展 26
3.2基於近鄰算法的推薦引擎 27
3.2.1基於用戶的協同過濾 29
3.2.2基於項目的協同過濾 30
3.2.3優點 32
3.2.4缺點 32
3.3基於內容的推薦系統 32
3.3.1用戶畫像生成 35
3.3.2優點 36
3.3.3缺點 36
3.4情境感知推薦系統 37
3.4.1情境定義 38
3.4.2前置過濾法 40
3.4.3後置過濾法 40
3.4.4優點 41
3.4.5缺點 41
3.5混合推薦系統 41
3.5.1加權法 42
3.5.2混合法 42
3.5.3層疊法 42
3.5.4特徵組合法 42
3.5.5優點 43
3.6基於模型的推薦系統 43
3.6.1機率法 44
3.6.2機器學習法 44
3.6.3數學法 44
3.6.4優點 45
3.7本章小結 45
第4章 數據挖掘技術在推薦引擎中的套用 46
4.1基於近鄰算法的技術 47
4.1.1歐氏距離 47
4.1.2餘弦相似度 48
4.1.3Jaccard相似度 51
4.1.4皮爾遜相關係數 51
4.2數學建模技術 53
4.2.1矩陣分解 53
4.2.2交替小二乘法 55
4.2.3奇異值分解 55
4.3機器學習技術 57
4.3.1線性回歸 57
4.3.2分類模型 59
4.4聚類技術 69
4.5降維 71
4.6向量空間模型 75
4.6.1詞頻 75
4.6.2詞頻-逆文檔頻率 76
4.7評估技術 78
4.7.1交叉驗證 79
4.7.2正則化 80
4.8本章小結 82
第5章 構建協同過濾推薦引擎 83
5.1在RStudio上安裝recommenderlab 83
5.2recommenderlab包中可用的數據集 85
5.3探討數據集 88
5.4使用recommenderlab構建基於用戶的協同過濾 89
5.4.1準備訓練數據和測試數據 90
5.4.2創建一個基於用戶的協同模型 90
5.4.3在測試集上進行預測 92
5.4.4分析數據集 93
5.4.5使用k折交叉驗證評估推薦模型 95
5.4.6評估基於用戶的協同過濾 96
5.5構建基於項目的推薦模型 99
5.5.1構建IBCF推薦模型 100
5.5.2模型評估 103
5.5.3模型準確率度量 104
5.5.4模型準確率繪圖 105
5.5.5IBCF參數調優 107
5.6使用Python構建協同過濾 110
5.6.1安裝必要包 110
5.6.2數據源 110
5.7數據探討 111
5.7.1表示評級矩陣 113
5.7.2創建訓練集和測試集 114
5.7.3構建UBCF的步驟 115
5.7.4基於用戶的相似度計算 115
5.7.5預測活躍用戶的未知評級 116
5.8使用KNN 進行基於用戶的協同過濾 117
5.9基於項目的推薦 118
5.9.1評估模型 119
5.9.2KNN訓練模型 120
5.9.3評估模型 120
5.10本章小結 120
第6章 構建個性化推薦引擎 121
6.1個性化推薦系統 122
6.2基於內容的推薦系統 122
6.2.1構建一個基於內容的推薦系統 123
6.2.2使用 R語言構建基於內容的推薦 123
6.2.3使用Python語言構建基於內容的推薦 133
6.3情境感知推薦系統 144
6.3.1構建情境感知推薦系統 144
6.3.2使用R語言構建情境感知推薦 145
6.4本章小結 150
第7章 使用Spark構建實時推薦引擎 151
7.1Spark 2.0介紹 152
7.1.1Spark架構 152
7.1.2Spark組件 154
7.1.3Spark Core 154
7.1.4Spark的優點 156
7.1.5Spark設定 156
7.1.6SparkSession 157
7.1.7彈性分散式數據集 158
7.1.8關於ML流水線 158
7.2使用交替小二乘法進行協同過濾 160
7.3使用PySpark構建基於模型的推薦系統 162
7.4MLlib推薦引擎模組 163
7.5推薦引擎方法 164
7.5.1實現 164
7.5.2基於用戶的協同過濾 172
7.5.3模型評估 173
7.5.4模型選擇和超參數調優 174
7.6本章小結 179
第8章 通過Neo4j構建實時推薦 180
8.1圖資料庫種類 181
8.2Neo4j 183
8.2.1Cypher查詢語言 184
8.2.2節點語法 184
8.2.3關係語法 185
8.2.4構建個圖 185
8.3Neo4j Windows安裝 192
8.4Neo4j Linux安裝 194
8.4.1下載Neo4j 194
8.4.2設定Neo4j 195
8.4.3命令行啟動Neo4j 195
8.5構建推薦引擎 197
8.5.1將數據載入到Neo4j 197
8.5.2使用Neo4j生成推薦 200
8.5.3使用歐氏距離進行協同過濾 201
8.5.4使用餘弦相似度進行協同過濾 206
8.6本章小結 209
第9章 使用Mahout構建可擴展的推薦引擎 210
9.1Mahout簡介 211
9.2配置Mahout 211
9.2.1Mahout單機模式 211
9.2.2Mahout分散式模式 218
9.3Mahout的核心構建模組 220
9.3.1基於用戶的協同過濾推薦引擎組件 220
9.3.2使用Mahout構建推薦引擎 223
9.3.3數據描述 223
9.3.4基於用戶的協同過濾 225
9.4基於項目的協同過濾 228
9.5協同過濾評估 231
9.6基於用戶的推薦評估 231
9.7基於項目的推薦評估 232
9.8SVD推薦系統 235
9.9使用Mahout進行分散式推薦 236
9.10可擴展系統的架構 240
9.11本章小結 241
第10章 推薦引擎的未來 242
10.1推薦引擎的未來 242
10.2推薦系統的發展階段 243
10.2.1一般的推薦系統 243
10.2.2個性化推薦系統 244
10.2.3未來的推薦系統 245
10.2.4下一個舉措 249
10.2.5使用案例 249
10.3流行方法 251
10.4推薦引擎的時效性 252
10.4.1A/B測試 253
10.4.2反饋機制 254
10.5本章小結 255

作者簡介

蘇雷什•庫馬爾•戈拉卡拉(Suresh Kumar Gorakala)是一位專注於人工智慧方向的數據科學家。他擁有近10年的專業經驗,曾為多個領域的全球客戶服務,並幫助他們使用先進的大數據分析技術解決業務問題。他主要從事推薦引擎、自然語言處理、高級機器學習和圖資料庫等方面的工作。

相關詞條

熱門詞條

聯絡我們