關(guān)于我們
書單推薦
新書推薦
|
推薦系統(tǒng)開發(fā)實戰(zhàn) 讀者對象:有python基礎(chǔ),有意向從事推薦系統(tǒng)開發(fā)的讀者。
過程完整:從基本原理到實際項目開發(fā) 實例豐富:將理論學(xué)習(xí)落實到具體實踐(共34個實例)簡潔流暢:采用短段、短句,讀來有順流而下般流暢感實戰(zhàn)性強:搭建新聞推薦系統(tǒng)、音樂推薦系統(tǒng)、圖書推薦系統(tǒng)學(xué)習(xí)無憂:免費提供書中用到的素材和源代碼后繼服務(wù):讀者可加入本書QQ學(xué)習(xí)群在線交流
現(xiàn)就職于京東,任職算法工程師,一直從事于推薦系統(tǒng)相關(guān)的研究和開發(fā)工作,對推薦排序、深度學(xué)習(xí)、強化學(xué)習(xí)具有濃厚興趣,擅長推薦排序、Spark、深度學(xué)習(xí)。
?
====第1篇 推薦系統(tǒng)的背景介紹和入門 ∣ 第1章 走進推薦系統(tǒng) 2 1.1 從“啤酒與尿布”到推薦系統(tǒng)的前世今生 2 ∣1.1.1 “啤酒與尿布” 2 ∣1.1.2 推薦系統(tǒng)的前世今生 2 1.2 推薦系統(tǒng)可以做什么 4 ∣1.2.1 什么是推薦系統(tǒng) 4 ∣1.2.2 在電商類產(chǎn)品中的應(yīng)用 5 ∣1.2.3 在社交類產(chǎn)品中的應(yīng)用 6 ∣1.2.4 在音樂類產(chǎn)品中的應(yīng)用 8 ∣1.2.5 在視頻類產(chǎn)品中的應(yīng)用 9 ∣1.2.6 在閱讀類產(chǎn)品中的應(yīng)用 10 ∣1.2.7 在服務(wù)類產(chǎn)品中的應(yīng)用 11 1.3 學(xué)習(xí)本書需要的技能 12 ∣1.3.1 Python基礎(chǔ) 12 ∣1.3.2 數(shù)據(jù)結(jié)構(gòu) 14 ∣1.3.3 工程能力 15 1.4 如何學(xué)習(xí)本書 17 1.5 知識導(dǎo)圖 17 第2章 搭建你的第一個推薦系統(tǒng) 19 2.1 實例1:搭建電影推薦系統(tǒng) 19 ∣2.1.1 利用Netflix數(shù)據(jù)集準備數(shù)據(jù) 19 ∣2.1.2 使用Python表示數(shù)據(jù) 21 ∣2.1.3 選擇相似用戶 23 ∣2.1.4 為用戶推薦相似用戶喜歡的電影 24 ∣2.1.5 分析效果 25 2.2 總結(jié):搭建推薦系統(tǒng)的一般步驟 26 ∣2.2.1 準備數(shù)據(jù) 26 ∣2.2.2 選擇算法 27 ∣2.2.3 模型訓(xùn)練 28 ∣2.2.4 效果評估 28 2.3 知識導(dǎo)圖 28 第3章 推薦系統(tǒng)常用數(shù)據(jù)集介紹 29 3.1 MovieLens數(shù)據(jù)集 29 ∣3.1.1 README 29 ∣3.1.2 ratings.dat 29 ∣3.1.3 movies.dat 31 ∣3.1.4 users.dat 34 3.2 Book-Crossings數(shù)據(jù)集 36 ∣3.2.1 BX-Book-Ratings.csv 37 ∣3.2.2 BX-Books.csv 39 ∣3.2.3 BX-Users.csv 39 3.3 Last.fm數(shù)據(jù)集 41 ∣3.3.1 README 41 ∣3.3.2 artists.dat 41 ∣3.3.3 tags.dat 41 ∣3.3.4 user_artists.dat 42 ∣3.3.5 user_friends.dat 42 ∣3.3.6 uses_taggedartists.dat 42 ∣3.3.7 user_taggedartists-timestamps.dat 42 3.4 FourSquare數(shù)據(jù)集 43 ∣3.4.1 users.dat 43 ∣3.4.2 venues.dat 44 ∣3.4.3 checkins.dat 44 ∣3.4.4 socialgraph.dat 44 ∣3.4.5 ratings.dat 45 3.5 Kaggle比賽之retailrocket 數(shù)據(jù)集 46 ∣3.5.1 events.csv 47 ∣3.5.2 category_tree.csv 49 ∣3.5.3 item_properties.csv 49 3.6 場景分析 49 3.7 知識導(dǎo)圖 50 ∣ ===第2篇 推薦系統(tǒng)涉及的算法介紹、冷啟動和效果評估 ∣ 第4章 數(shù)據(jù)挖掘——讓推薦系統(tǒng)更懂你 52 4.1 數(shù)據(jù)預(yù)處理 52 ∣4.1.1 數(shù)據(jù)標準化 52 ∣4.1.2 實例2:實現(xiàn)數(shù)據(jù)的標準化 54 ∣4.1.3 數(shù)據(jù)離散化 56 ∣4.1.4 實例3:基于信息熵的數(shù)據(jù)離散化 58 ∣4.1.5 數(shù)據(jù)抽樣 61 ∣4.1.6 數(shù)據(jù)降維 63 ∣4.1.7 實例4:對鳶尾花數(shù)據(jù)集特征進行降維 66 ∣4.1.8 數(shù)據(jù)清理 68 ∣4.1.9 相似度計算 71 4.2 數(shù)據(jù)分類 74 ∣4.2.1 K最近鄰算法 74 ∣4.2.2 實例5:利用KNN算法實現(xiàn)性別判定 75 ∣4.2.3 決策樹算法 77 ∣4.2.4 實例6:構(gòu)建是否舉辦活動的決策樹 80 ∣4.2.5 樸素貝葉斯算法 84 ∣4.2.6 實例7:基于樸素貝葉斯算法進行異常賬戶檢測 87 ∣4.2.7 分類器的評估 90 ∣4.2.8 實例8:scikit-learn中的分類效果評估 92 4.3 數(shù)據(jù)聚類 92 ∣4.3.1 kMeans算法 92 ∣4.3.2 實例9:基于kMeans算法進行商品價格聚類 95 ∣4.3.3 二分-kMeans算法 98 ∣4.3.4 實例10:基于二分-kMeans算法進行商品價格聚類 99 ∣4.3.5 聚類算法的評估 100 ∣4.3.6 實例11:scikit-learn中的聚類效果評估 102 4.4 關(guān)聯(lián)分析 103 ∣4.4.1 Apriori算法 103 ∣4.4.2 實例12:基于Apriori算法實現(xiàn)頻繁項集和相關(guān)規(guī)則挖掘 106 4.5 知識導(dǎo)圖 110 ∣ 第5章 基于用戶行為特征的推薦 111 5.1 用戶行為分類 111 5.2 基于內(nèi)容的推薦算法 112 ∣5.2.1 算法原理——從“構(gòu)造特征”到“判斷用戶是否喜歡” 112 ∣5.2.2 實例13:對手機屬性進行特征建模 115 5.3 實例14:編寫一個基于內(nèi)容推薦算法的電影推薦系統(tǒng) 117 ∣5.3.1 了解實現(xiàn)思路 117 ∣5.3.2 準備數(shù)據(jù) 119 ∣5.3.3 選擇算法 122 ∣5.3.4 模型訓(xùn)練 122 ∣5.3.5 效果評估 123 5.4 基于近鄰的推薦算法 124 ∣5.4.1 UserCF算法的原理——先“找到相似同戶”,再“找到他們喜歡的物品” 124 ∣5.4.2 ItemCF算法的原理——先“找到用戶喜歡的物品”,再“找到喜歡物品的相似物品” 131 5.5 實例15:編寫一個基于UserCF算法的電影推薦系統(tǒng) 137 ∣5.5.1 了解實現(xiàn)思路 138 ∣5.5.2 準備數(shù)據(jù) 138 ∣5.5.3 選擇算法 138 ∣5.5.4 模型訓(xùn)練 138 ∣5.5.5 效果評估 141 5.6 實例16:編寫一個基于ItemCF算法的電影推薦系統(tǒng) 141 ∣5.6.1 了解實現(xiàn)思路 141 ∣5.6.2 準備數(shù)據(jù) 142 ∣5.6.3 選擇算法 142 ∣5.6.4 模型訓(xùn)練 142 ∣5.6.5 效果評估 144 5.7 對比分析:UserCF算法和ItemCF算法 145 5.8 對比分析:基于內(nèi)容和基于近鄰 146 5.9 基于隱語義模型的推薦算法 147 ∣5.9.1 LFM概述 147 ∣5.9.2 LFM算法理解 148 ∣5.10 實例17:編寫一個基于LFM的電影推薦系統(tǒng) 152 ∣5.10.1 了解實現(xiàn)思路 152 ∣5.10.2 準備數(shù)據(jù) 152 ∣5.10.3 選擇算法 154 ∣5.10.4 模型訓(xùn)練 155 ∣5.10.5 效果評估 158 5.11 知識導(dǎo)圖 159 ∣ 第6章 基于標簽的推薦 161 6.1 基于標簽系統(tǒng)的應(yīng)用 161 ∣6.1.1 Last.fm 161 ∣6.1.2 Delicious 162 ∣6.1.3 豆瓣 163 ∣6.1.4 網(wǎng)易云音樂 163 6.2 數(shù)據(jù)標注與關(guān)鍵詞提取 165 ∣6.2.1 推薦系統(tǒng)中的數(shù)據(jù)標注 165 ∣6.2.2 推薦系統(tǒng)中的關(guān)鍵詞提取 167 ∣6.2.3 標簽的分類 168 6.3 實例18:基于TF-IDF算法提取商品標題的關(guān)鍵詞 169 ∣6.3.1 了解TF-IDF算法 169 ∣6.3.2 認識商品標題描述 170 ∣6.3.3 提取關(guān)鍵詞 170 6.4 基于標簽的推薦系統(tǒng) 174 ∣6.4.1 標簽評分算法 174 ∣6.4.2 標簽評分算法改進 176 ∣6.4.3 標簽基因 177 ∣6.4.4 用戶興趣建模 177 6.5 實例19:利用標簽推薦算法實現(xiàn)藝術(shù)家的推薦 178 ∣6.5.1 了解實現(xiàn)思路 178 ∣6.5.2 準備數(shù)據(jù) 178 ∣6.5.3 選擇算法 179 ∣6.5.4 模型訓(xùn)練 179 ∣6.5.5 效果評估 182 6.6 知識導(dǎo)圖 182 ∣ 第7章 基于上下文的推薦 184 7.1 基于時間特征的推薦 184 ∣7.1.1 時間效應(yīng)介紹 184 ∣7.1.2 時間效應(yīng)分析 187 ∣7.1.3 推薦系統(tǒng)的實時性 194 ∣7.1.4 協(xié)同過濾中的時間因子 195 7.2 實例20:實現(xiàn)一個“增加時間衰減函數(shù)的協(xié)同過濾算法” 197 ∣7.2.1 在UserCF算法中增加時間衰減函數(shù) 197 ∣7.2.2 在ItemCF算法中增加時間衰減函數(shù) 199 7.3 基于地域和熱度特征的推薦 200 ∣7.3.1 為什么要將地域和熱度特征放在一起 201 ∣7.3.2 解讀LARS中的地域特征 202 ∣7.3.3 基于地域和熱度的推薦算法 204 7.4 實例21:創(chuàng)建一個基于地域和熱度的酒店推薦系統(tǒng) 206 ∣7.4.1 了解實現(xiàn)思路 206 ∣7.4.2 準備數(shù)據(jù) 207 ∣7.4.3 選擇算法 207 ∣7.4.4 模型訓(xùn)練 207 ∣7.4.5 效果評估 210 ∣7.5 其他上下文信息 210 7.6 知識導(dǎo)圖 210 ∣ 第8章 基于點擊率預(yù)估的推薦 212 8.1 傳統(tǒng)推薦算法的局限和應(yīng)用 212 ∣8.1.1 傳統(tǒng)推薦算法的局限 212 ∣8.1.2 傳統(tǒng)推薦算法的應(yīng)用 213 8.2 點擊率預(yù)估在推薦系統(tǒng)中的應(yīng)用 214 8.3 集成學(xué)習(xí) 214 ∣8.3.1 集成學(xué)習(xí)概述 215 ∣8.3.2 Boosting算法(提升法) 215 ∣8.3.3 Bagging算法(自助法) 216 ∣8.3.4 Stacking算法(融合法) 217 8.4 導(dǎo)數(shù)、偏導(dǎo)數(shù)、方向?qū)?shù)、梯度 217 ∣8.4.1 導(dǎo)數(shù) 217 ∣8.4.2 偏導(dǎo)數(shù) 217 ∣8.4.3 方向?qū)?shù) 218 ∣8.4.4 梯度 219 ∣8.4.5 梯度下降 219 8.5 GBDT算法 222 ∣8.5.1 Gradient Boosting方法 223 ∣8.5.2 決策樹 223 ∣8.5.3 GBDT算法的原理 224 8.6 實例22:基于GBDT算法預(yù)估電信客戶流失 227 ∣8.6.1 了解實現(xiàn)思路 227 ∣8.6.2 準備數(shù)據(jù) 229 ∣8.6.3 選擇算法 232 ∣8.6.4 模型訓(xùn)練 232 ∣8.6.5 效果評估 234 8.7 回歸分析 236 ∣8.7.1 什么是回歸分析 236 ∣8.7.2 回歸分析算法分類 236 ∣8.8 Logistic Regression算法 237 ∣8.8.1 Sigmoid函數(shù) 237 ∣8.8.2 LR為什么要使用Sigmoid函數(shù) 239 ∣8.8.3 LR的算法原理分析 240 8.9 實例23:基于LR算法預(yù)估電信客戶流失 241 ∣8.9.1 準備數(shù)據(jù) 242 ∣8.9.2 選擇算法 242 ∣8.9.3 模型訓(xùn)練 242 ∣8.9.4 效果評估 243 8.10 GBDT+LR的模型融合 245 ∣8.10.1 GBDT+LR模型融合概述 245 ∣8.10.2 為什么選擇GBDT和LR進行模型融合 246 ∣8.10.3 GBDT+LR模型融合的原理 246 8.11 實例24:基于GBDT和LR算法預(yù)估電信客戶流失 247 ∣8.11.1 準備數(shù)據(jù) 247 ∣8.11.2 選擇算法 247 ∣8.11.3 模型訓(xùn)練 247 ∣8.11.4 效果評估 248 8.12 知識導(dǎo)圖 251 ∣ 第9章 推薦系統(tǒng)中的冷啟動 252 9.1 冷啟動介紹 252 ∣9.1.1 冷啟動的分類 252 ∣9.1.2 冷啟動的幾種實現(xiàn)方法 252 9.2 基于熱門數(shù)據(jù)推薦實現(xiàn)冷啟動 253 9.3 利用用戶注冊信息實現(xiàn)冷啟動 254 ∣9.3.1 注冊信息分析 254 ∣9.3.2 實例25:分析Book-Crossings數(shù)據(jù)集中的共性特征 255 ∣9.3.3 實現(xiàn)原理 261 9.4 利用用戶上下文信息實現(xiàn)冷啟動 261 ∣9.4.1 設(shè)備信息特征 262 ∣9.4.2 時間地域信息特征 262 ∣9.4.3 實現(xiàn)原理 262 9.5 利用第三方數(shù)據(jù)實現(xiàn)冷啟動 263 9.6 利用用戶和系統(tǒng)之間的交互實現(xiàn)冷啟動 263 ∣9.6.1 實現(xiàn)原理 263 ∣9.6.2 推薦系統(tǒng)中實時交互的應(yīng)用 265 ∣9.6.3 實例26:用戶實時交互推薦系統(tǒng)設(shè)計 266 9.7 利用物品的內(nèi)容屬性實現(xiàn)冷啟動 267 ∣9.7.1 物品內(nèi)容屬性分析 267 ∣9.7.2 物品信息的使用 268 9.8 利用專家標注數(shù)據(jù)實現(xiàn)冷啟動 269 9.9 知識導(dǎo)圖 270 ∣ 第10章 推薦系統(tǒng)中的效果評估 271 10.1 用戶調(diào)研 271 10.2 在線評估 272 10.3 在線實驗方式——ABTest 272 ∣10.3.1 ABTest介紹 272 ∣10.3.2 ABTest流程 272 ∣10.3.3 ABTest的注意事項 273 10.4 在線評估指標 274 ∣10.4.1 點擊率 275 ∣10.4.2 轉(zhuǎn)化率 275 ∣10.4.3 網(wǎng)站成交額 275 10.5 離線評估 276 10.6 拆分數(shù)據(jù)集 276 ∣10.6.1 留出法 277 ∣10.6.2 K-折交叉驗證法 277 ∣10.6.3 自助法 277 ∣10.6.4 實例27:使用sklearn包中的train_test_split()函數(shù)進行數(shù)據(jù)集拆分 278 ∣10.6.5 實例28:使用sklearn包中的KFold()函數(shù)產(chǎn)生交叉驗證數(shù)據(jù)集 280 ∣10.6.6 實例29:使用sklearn包中的cross_validate()函數(shù)演示交叉驗證 281 10.7 離線評估指標 282 ∣10.7.1 準確度指標之預(yù)測分類準確度指標 282 ∣10.7.2 實例30:使用sklearn包中的metrics類預(yù)測分類準確度 288 ∣10.7.3 準確度指標之預(yù)測評分準確度指標 290 ∣10.7.4 實例31:使用sklearn包中的metrics類預(yù)測評分準確度 290 ∣10.7.5 準確度指標之預(yù)測評分關(guān)聯(lián)指標 291 ∣10.7.6 準確度指標之排序準確度指標 292 ∣10.7.7 非準確度指標 292 10.8 知識導(dǎo)圖 296 ∣ ===第3篇 推薦系統(tǒng)實例 ∣第11章 實例32:搭建一個新聞推薦系統(tǒng) 298 11.1 準備數(shù)據(jù) 298 11.2 預(yù)處理數(shù)據(jù) 298 ∣11.2.1 原始數(shù)據(jù)加工 298 ∣11.2.2 新聞熱度值計算 299 ∣11.2.3 新聞相似度計算 300 ∣11.2.4 指定標簽下的新聞統(tǒng)計 302 11.3 設(shè)計架構(gòu) 303 11.4 實現(xiàn)系統(tǒng) 304 ∣11.4.1 準備環(huán)境 304 ∣11.4.2 實現(xiàn)后端接口 304 ∣11.4.3 實現(xiàn)前端界面 309 ∣11.4.4 系統(tǒng)演示 309 11.5 代碼復(fù)現(xiàn) 311 ∣11.5.1 安裝依賴 311 ∣11.5.2 數(shù)據(jù)入庫 312 ∣11.5.3 修改配置 312 ∣11.5.4 項目啟動 312 11.6 知識導(dǎo)圖 312 ∣ 第12章 實例33:搭建一個音樂推薦系統(tǒng) 314 12.1 準備數(shù)據(jù) 314 12.2 預(yù)處理數(shù)據(jù) 314 ∣12.2.1 計算歌曲、歌手、用戶相似度 314 ∣12.2.2 計算用戶推薦集 315 ∣12.2.3 數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫 319 12.3 設(shè)計架構(gòu) 321 12.4 實現(xiàn)系統(tǒng) 322 ∣12.4.1 準備環(huán)境 322 ∣12.4.2 實現(xiàn)后端接口 322 ∣12.4.3 實現(xiàn)前端界面 324 ∣12.4.4 系統(tǒng)演示 324 12.5 代碼復(fù)現(xiàn) 327 ∣12.5.1 安裝依賴 327 ∣12.5.2 數(shù)據(jù)入庫 327 ∣12.5.3 修改配置 327 ∣12.5.4 項目啟動 328 12.6 知識導(dǎo)圖 328 ∣ 第13章 實例34:搭建一個圖書推薦系統(tǒng) 329 13.1 準備數(shù)據(jù) 329 13.2 預(yù)處理數(shù)據(jù) 329 ∣13.2.1 原始數(shù)據(jù)加工 329 ∣13.2.2 數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫 331 ∣13.2.3 模型準備 331 13.3 設(shè)計架構(gòu) 332 13.4 實現(xiàn)系統(tǒng) 333 ∣13.4.1 準備環(huán)境 333 ∣13.4.2 實現(xiàn)后端接口 333 ∣13.4.3 實現(xiàn)前端界面 336 ∣13.4.4 系統(tǒng)演示 336 13.5 代碼復(fù)現(xiàn) 338 13.6 知識導(dǎo)圖 338 ∣ 第14章 業(yè)界推薦系統(tǒng)架構(gòu)介紹 340 14.1 概述 340 14.2 架構(gòu)介紹 340 14.3 召回內(nèi)容 342 14.4 計算排序 343 ∣14.4.1 特征工程 343 ∣14.4.2 特征分類 343 ∣14.4.3 排序算法 343 14.5 物品過濾和展示 344 ∣14.5.1 物品過濾 344 ∣14.5.2 物品展示 344 14.6 效果評估 344 14.7 知識導(dǎo)圖 345
你還可能感興趣
我要評論
|