注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)Mahout實(shí)戰(zhàn)

Mahout實(shí)戰(zhàn)

Mahout實(shí)戰(zhàn)

定 價(jià):¥79.00

作 者: (美)Sean Owen,Robin Anil,Ted Dunning,Ellen Friedman 著,王斌,韓冀中,萬吉 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 計(jì)算機(jī)/網(wǎng)絡(luò) 人工智能

ISBN: 9787115347220 出版時(shí)間: 2014-03-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 321 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《Mahout實(shí)戰(zhàn)》是Mahout領(lǐng)域的權(quán)威著作,出自該項(xiàng)目核心成員之手,立足實(shí)踐,全面介紹了基于Apache Mahout的機(jī)器學(xué)習(xí)技術(shù)?!禡ahout實(shí)戰(zhàn)》開篇從Mahout的故事講起,接著分三部分探討了推薦系統(tǒng)、聚類和分類,最后的附錄涵蓋JVM調(diào)優(yōu)、Mahout 數(shù)學(xué)知識(shí)和相關(guān)資源?!禡ahout實(shí)戰(zhàn)》適合所有數(shù)據(jù)分析和數(shù)據(jù)挖掘人員閱讀,需要有Java語言基礎(chǔ)。

作者簡(jiǎn)介

  Sean Owen,現(xiàn)為大數(shù)據(jù)公司Cloudera數(shù)據(jù)產(chǎn)品總監(jiān),Myrrix創(chuàng)始人,曾任Apache Mahout項(xiàng)目管理委員會(huì)委員、谷歌高級(jí)軟件工程師,是Mobile Web和Taste框架(現(xiàn)屬于Mahout項(xiàng)目)的主力開發(fā)者。Owen擁有哈佛大學(xué)計(jì)算機(jī)科學(xué)專業(yè)學(xué)士學(xué)位。Robin Anil,谷歌公司負(fù)責(zé)地圖與廣告方向的軟件工程師,Apache Mahout項(xiàng)目管理委員會(huì)委員,為Mahout開發(fā)了貝葉斯分類器和頻繁模式挖掘?qū)崿F(xiàn),曾經(jīng)在雅虎公司任高級(jí)軟件工程師。Ted Dunning,MapR Technologies公司首席應(yīng)用架構(gòu)師,Apache Mahout和Zookeeper項(xiàng)目管理委員會(huì)成員,為Mahout聚類、分類、矩陣分解算法做出了貢獻(xiàn),曾任DeepDyve公司CTO及多家公司首席科學(xué)家。Ellen Friedman,Apache Mahout項(xiàng)目代碼提交者,生物化學(xué)博士學(xué)位,經(jīng)驗(yàn)豐富的科技作家,作品涵蓋計(jì)算機(jī)、分子生物學(xué)、醫(yī)學(xué)和地球科學(xué)。

圖書目錄

目 錄
第1章 初識(shí)Mahout 1
1.1 Mahout的故事 1
1.2 Mahout的機(jī)器學(xué)習(xí)主題 2
1.2.1 推薦引擎 2
1.2.2 聚類 3
1.2.3 分類 4
1.3 利用Mahout和Hadoop處理大規(guī)模數(shù)據(jù) 4
1.4 安裝Mahout 6
1.4.1 Java和IDE 6
1.4.2 安裝Maven 7
1.4.3 安裝Mahout 7
1.4.4 安裝Hadoop 8
1.5 小結(jié) 8
第一部分 推薦
第2章 推薦系統(tǒng) 10
2.1 推薦的定義 10
2.2 運(yùn)行第一個(gè)推薦引擎 11
2.2.1 創(chuàng)建輸入 11
2.2.2 創(chuàng)建一個(gè)推薦程序 13
2.2.3 分析輸出 14
2.3 評(píng)估一個(gè)推薦程序 14
2.3.1 訓(xùn)練數(shù)據(jù)與評(píng)分 15
2.3.2 運(yùn)行RecommenderEvaluator 15
2.3.3 評(píng)估結(jié)果 16
2.4 評(píng)估查準(zhǔn)率與查全率 17
2.4.1 運(yùn)行RecommenderIRStats-Evaluator 17
2.4.2 查準(zhǔn)率和查全率的問題 19
2.5 評(píng)估GroupLens數(shù)據(jù)集 19
2.5.1 提取推薦程序的輸入 19
2.5.2 體驗(yàn)其他推薦程序 20
2.6 小結(jié) 20
第3章 推薦數(shù)據(jù)的表示 21
3.1 偏好數(shù)據(jù)的表示 21
3.1.1 Preference對(duì)象 21
3.1.2 PreferenceArray及其實(shí)現(xiàn) 22
3.1.3 改善聚合的性能 23
3.1.4 FastByIDMap和FastIDSet 23
3.2 內(nèi)存級(jí)DataModel 24
3.2.1 GenericDataModel 24
3.2.2 基于文件的數(shù)據(jù) 25
3.2.3 可刷新組件 25
3.2.4 更新文件 26
3.2.5 基于數(shù)據(jù)庫(kù)的數(shù)據(jù) 26
3.2.6 JDBC和MySQL 27
3.2.7 通過JNDI進(jìn)行配置 27
3.2.8 利用程序進(jìn)行配置 28
3.3 無偏好值的處理 29
3.3.1 何時(shí)忽略值 29
3.3.2 無偏好值時(shí)的內(nèi)存級(jí)表示 30
3.3.3 選擇兼容的實(shí)現(xiàn) 31
3.4 小結(jié) 33
第4章 進(jìn)行推薦 34
4.1 理解基于用戶的推薦 34
4.1.1 推薦何時(shí)會(huì)出錯(cuò) 34
4.1.2 推薦何時(shí)是正確的 35
4.2 探索基于用戶的推薦程序 36
4.2.1 算法 36
4.2.2 基于GenericUserBased-Recommender實(shí)現(xiàn)算法 36
4.2.3 嘗試GroupLens數(shù)據(jù)集 37
4.2.4 探究用戶鄰域 38
4.2.5 固定大小的鄰域 39
4.2.6 基于閾值的鄰域 39
4.3 探索相似性度量 40
4.3.1 基于皮爾遜相關(guān)系數(shù)的相似度 40
4.3.2 皮爾遜相關(guān)系數(shù)存在的問題 42
4.3.3 引入權(quán)重 42
4.3.4 基于歐氏距離定義相似度 43
4.3.5 采用余弦相似性度量 43
4.3.6 采用斯皮爾曼相關(guān)系數(shù)基于相對(duì)排名定義相似度 44
4.3.7 忽略偏好值基于谷本系數(shù)計(jì)算相似度 45
4.3.8 基于對(duì)數(shù)似然比更好地計(jì)算相似度 46
4.3.9 推測(cè)偏好值 47
4.4 基于物品的推薦 47
4.4.1 算法 48
4.4.2 探究基于物品的推薦程序 49
4.5 Slope-one推薦算法 50
4.5.1 算法 50
4.5.2 Slope-one實(shí)踐 51
4.5.3 DiffStorage和內(nèi)存考慮 52
4.5.4 離線計(jì)算量的分配 53
4.6 最新以及試驗(yàn)性質(zhì)的推薦算法 53
4.6.1 基于奇異值分解的推薦算法 53
4.6.2 基于線性插值物品的推薦算法 54
4.6.3 基于聚類的推薦算法 55
4.7 對(duì)比其他推薦算法 56
4.7.1 為Mahout引入基于內(nèi)容的技術(shù) 56
4.7.2 深入理解基于內(nèi)容的推薦算法 57
4.8 對(duì)比基于模型的推薦算法 57
4.9 小結(jié) 57
第5章 讓推薦程序?qū)嵱没?9
5.1 分析來自約會(huì)網(wǎng)站的樣本數(shù)據(jù) 59
5.2 找到一個(gè)有效的推薦程序 61
5.2.1 基于用戶的推薦程序 61
5.2.2 基于物品的推薦程序 62
5.2.3 slope-one推薦程序 63
5.2.4 評(píng)估查準(zhǔn)率和查全率 63
5.2.5 評(píng)估性能 64
5.3 引入特定域的信息 65
5.3.1 采用一個(gè)定制的物品相似性度量 65
5.3.2 基于內(nèi)容進(jìn)行推薦 66
5.3.3 利用IDRescorer修改推薦結(jié)果 66
5.3.4 在IDRescorer中引入性別 67
5.3.5 封裝一個(gè)定制的推薦程序 69
5.4 為匿名用戶做推薦 71
5.4.1 利用PlusAnonymousUser-DataModel處理臨時(shí)用戶 71
5.4.2 聚合匿名用戶 73
5.5 創(chuàng)建一個(gè)支持Web訪問的推薦程序 73
5.5.1 封裝WAR文件 74
5.5.2 測(cè)試部署 74
5.6 更新和監(jiān)控推薦程序 75
5.7 小結(jié) 76
第6章 分布式推薦 78
6.1 分析Wikipedia數(shù)據(jù)集 78
6.1.1 挑戰(zhàn)規(guī)?!?9
6.1.2 分布式計(jì)算的優(yōu)缺點(diǎn) 80
6.2 設(shè)計(jì)一個(gè)基于物品的分布式推薦算法 81
6.2.1 構(gòu)建共現(xiàn)矩陣 81
6.2.2 計(jì)算用戶向量 82
6.2.3 生成推薦結(jié)果 82
6.2.4 解讀結(jié)果 83
6.2.5 分布式實(shí)現(xiàn) 83
6.3 基于MapReduce實(shí)現(xiàn)分布式算法 83
6.3.1 MapReduce簡(jiǎn)介 84
6.3.2 向MapReduce轉(zhuǎn)換:生成用戶向量 84
6.3.3 向MapReduce轉(zhuǎn)換:計(jì)算共現(xiàn)關(guān)系 85
6.3.4 向MapReduce轉(zhuǎn)換:重新思考矩陣乘 87
6.3.5 向MapReduce轉(zhuǎn)換:通過部分乘積計(jì)算矩陣乘 87
6.3.6 向MapReduce轉(zhuǎn)換:形成推薦 90
6.4 在Hadoop上運(yùn)行MapReduce 91
6.4.1 安裝Hadoop 92
6.4.2 在Hadoop上執(zhí)行推薦 92
6.4.3 配置mapper和reducer 94
6.5 偽分布式推薦程序 94
6.6 深入理解推薦 95
6.6.1 在云上運(yùn)行程序 95
6.6.2 考慮推薦的非傳統(tǒng)用法 97
6.7 小結(jié) 97
第二部分 聚類
第7章 聚類介紹 100
7.1 聚類的基本概念 100
7.2 項(xiàng)目相似性度量 102
7.3 Hello World:運(yùn)行一個(gè)簡(jiǎn)單的聚類示例 103
7.3.1 生成輸入數(shù)據(jù) 103
7.3.2 使用Mahout聚類 104
7.3.3 分析輸出結(jié)果 107
7.4 探究距離測(cè)度 108
7.4.1 歐氏距離測(cè)度 108
7.4.2 平方歐氏距離測(cè)度 108
7.4.3 曼哈頓距離測(cè)度 108
7.4.4 余弦距離測(cè)度 109
7.4.5 谷本距離測(cè)度 110
7.4.6 加權(quán)距離測(cè)度 110
7.5 在簡(jiǎn)單示例上使用各種距離測(cè)度 111
7.6 小結(jié) 111
第8章 聚類數(shù)據(jù)的表示 112
8.1 向量可視化 113
8.1.1 將數(shù)據(jù)轉(zhuǎn)換為向量 113
8.1.2 準(zhǔn)備Mahout所用的向量 115
8.2 將文本文檔表示為向量 116
8.2.1 使用TF-IDF改進(jìn)加權(quán) 117
8.2.2 通過n-gram搭配詞考察單詞的依賴性 118
8.3 從文檔中生成向量 119
8.4 基于歸一化改善向量的質(zhì)量 123
8.5 小結(jié) 124
第9章 Mahout中的聚類算法 125
9.1 k-means聚類 125
9.1.1 關(guān)于k-means你需要了解的 126
9.1.2 運(yùn)行k-means聚類 127
9.1.3 通過canopy聚類尋找最佳k值 134
9.1.4 案例學(xué)習(xí):使用k-means對(duì)新聞聚類 138
9.2 超越k-means: 聚類技術(shù)概覽 141
9.2.1 不同類型的聚類問題 141
9.2.2 不同的聚類方法 143
9.3 模糊k-means聚類 145
9.3.1 運(yùn)行模糊k-means聚類 145
9.3.2 多模糊會(huì)過度嗎 147
9.3.3 案例學(xué)習(xí):用模糊k-means對(duì)新聞進(jìn)行聚類 148
9.4 基于模型的聚類 149
9.4.1 k-means的不足 149
9.4.2 狄利克雷聚類 150
9.4.3 基于模型的聚類示例 151
9.5 用LDA進(jìn)行話題建?!?54
9.5.1 理解LDA 155
9.5.2 對(duì)比TF-IDF與LDA 156
9.5.3 LDA參數(shù)調(diào)優(yōu) 156
9.5.4 案例學(xué)習(xí):尋找新聞文檔中的話題 156
9.5.5 話題模型的應(yīng)用 158
9.6 小結(jié) 158
第10章 評(píng)估并改善聚類質(zhì)量 160
10.1 檢查聚類輸出 160
10.2 分析聚類輸出 162
10.2.1 距離測(cè)度與特征選擇 163
10.2.2 簇間與簇內(nèi)距離 163
10.2.3 簇的混合與重疊 166
10.3 改善聚類質(zhì)量 166
10.3.1 改進(jìn)文檔向量生成過程 166
10.3.2 編寫自定義距離測(cè)度 169
10.4 小結(jié) 171
第11章 將聚類用于生產(chǎn)環(huán)境 172
11.1 Hadoop下運(yùn)行聚類算法的快速入門 172
11.1.1 在本地Hadoop集群上運(yùn)行聚類算法 173
11.1.2 定制Hadoop配置 174
11.2 聚類性能調(diào)優(yōu) 176
11.2.1 在計(jì)算密集型操作中避免性能缺陷 176
11.2.2 在I/O密集型操作中避免性能缺陷 178
11.3 批聚類及在線聚類 178
11.3.1 案例分析:在線新聞聚類 179
11.3.2 案例分析:對(duì)維基百科文章聚類 180
11.4 小結(jié) 181
第12章 聚類的實(shí)際應(yīng)用 182
12.1 發(fā)現(xiàn)Twitter上的相似用戶 182
12.1.1 數(shù)據(jù)預(yù)處理及特征加權(quán) 183
12.1.2 避免特征選擇中的常見陷阱 184
12.2 為L(zhǎng)ast.fm上的藝術(shù)家推薦標(biāo)簽 187
12.2.1 利用共現(xiàn)信息進(jìn)行標(biāo)簽推薦 187
12.2.2 構(gòu)建Last.fm藝術(shù)家詞典 188
12.2.3 將Last.fm標(biāo)簽轉(zhuǎn)換成以藝術(shù)家為特征的向量 190
12.2.4 在Last.fm數(shù)據(jù)上運(yùn)行k-means算法 191
12.3 分析Stack Overflow數(shù)據(jù)集 193
12.3.1 解析Stack Overflow數(shù)據(jù)集 193
12.3.2 在Stack Overflow中發(fā)現(xiàn)聚類問題 193
12.4 小結(jié) 194
第三部分 分類
第13章 分類 198
13.1 為什么用Mahout做分類 198
13.2 分類系統(tǒng)基礎(chǔ) 199
13.2.1 分類、推薦和聚類的區(qū)別 201
13.2.2 分類的應(yīng)用 201
13.3 分類的工作原理 202
13.3.1 模型 203
13.3.2 訓(xùn)練、測(cè)試與生產(chǎn) 203
13.3.3 預(yù)測(cè)變量與目標(biāo)變量 204
13.3.4 記錄、字段和值 205
13.3.5 預(yù)測(cè)變量值的4種類型 205
13.3.6 有監(jiān)督學(xué)習(xí)與無監(jiān)督學(xué)習(xí) 207
13.4 典型分類項(xiàng)目的工作流 207
13.4.1 第一階段工作流:訓(xùn)練分類模型 208
13.4.2 第二階段工作流:評(píng)估分類模型 212
13.4.3 第三階段工作流:在生產(chǎn)中使用模型 212
13.5 循序漸進(jìn)的簡(jiǎn)單分類示例 213
13.5.1 數(shù)據(jù)和挑戰(zhàn) 213
13.5.2 訓(xùn)練一個(gè)模型來尋找顏色填充:初步設(shè)想 214
13.5.3 選擇一個(gè)學(xué)習(xí)算法來訓(xùn)練模型 215
13.5.4 改進(jìn)填充顏色分類器的性能 217
13.6 小結(jié) 221
第14章 訓(xùn)練分類器 222
14.1 提取特征以構(gòu)建分類器 222
14.2 原始數(shù)據(jù)的預(yù)處理 224
14.2.1 原始數(shù)據(jù)的轉(zhuǎn)換 224
14.2.2 一個(gè)計(jì)算營(yíng)銷的例子 225
14.3 將可分類數(shù)據(jù)轉(zhuǎn)換為向量 226
14.3.1 用向量表示數(shù)據(jù) 226
14.3.2 用Mahout API做特征散列 228
14.4 用SGD對(duì)20 Newsgroups數(shù)據(jù)集進(jìn)行分類 231
14.4.1 開始:數(shù)據(jù)集預(yù)覽 231
14.4.2 20 Newsgroups數(shù)據(jù)特征的解析和詞條化 234
14.4.3 20 Newsgroups數(shù)據(jù)的訓(xùn)練代碼 234
14.5 選擇訓(xùn)練分類器的算法 238
14.5.1 非并行但仍很強(qiáng)大的算法:SGD和SVM 239
14.5.2 樸素分類器的力量:樸素貝葉斯及補(bǔ)充樸素貝葉斯 239
14.5.3 精密結(jié)構(gòu)的力量:隨機(jī)森林算法 240
14.6 用樸素貝葉斯對(duì)20 Newsgroups數(shù)據(jù)分類 241
14.6.1 開始:為樸素貝葉斯提取數(shù)據(jù) 241
14.6.2 訓(xùn)練樸素貝葉斯分類器 242
14.6.3  測(cè)試樸素貝葉斯模型 242
14.7 小結(jié) 244
第15章 分類器評(píng)估及調(diào)優(yōu) 245
15.1 Mahout中的分類器評(píng)估 245
15.1.1 獲取即時(shí)反饋 246
15.1.2 確定分類“好”的含義 246
15.1.3 認(rèn)識(shí)不同的錯(cuò)誤代價(jià) 247
15.2 分類器評(píng)估API 247
15.2.1 計(jì)算AUC 248
15.2.2 計(jì)算混淆矩陣和熵矩陣 250
15.2.3 計(jì)算平均對(duì)數(shù)似然 252
15.2.4 模型剖析 253
15.2.5 20 Newsgroups語料上SGD分類器的性能指標(biāo)計(jì)算 254
15.3 分類器性能下降時(shí)的處理 257
15.3.1 目標(biāo)泄漏 258
15.3.2 特征提取崩潰 260
15.4 分類器性能調(diào)優(yōu) 262
15.4.1 問題調(diào)整 262
15.4.2 分類器調(diào)優(yōu) 265
15.5 小結(jié) 267
第16章 分類器部署 268
16.1 巨型分類系統(tǒng)的部署過程 268
16.1.1 理解問題 269
16.1.2 根據(jù)需要優(yōu)化特征提取過程 269
16.1.3 根據(jù)需要優(yōu)化向量編碼 269
16.1.4 部署可擴(kuò)展的分類器服務(wù) 270
16.2 確定規(guī)模和速度需求 270
16.2.1 多大才算大 270
16.2.2 在規(guī)模和速度之間折中 272
16.3 對(duì)大型系統(tǒng)構(gòu)建訓(xùn)練流水線 273
16.3.1 獲取并保留大規(guī)模數(shù)據(jù) 274
16.3.2 非規(guī)范化及下采樣 275
16.3.3 訓(xùn)練中的陷阱 276
16.3.4 快速讀取數(shù)據(jù)并對(duì)其進(jìn)行編碼 278
16.4 集成Mahout分類器 282
16.4.1 提前計(jì)劃:集成中的關(guān)鍵問題 283
16.4.2 模型序列化 287
16.5 案例:一個(gè)基于Thrift的分類服務(wù)器 288
16.5.1 運(yùn)行分類服務(wù)器 292
16.5.2 訪問分類器服務(wù) 294
16.6 小結(jié) 296
第17章 案例分析——Shop It To Me 297
17.1 Shop It To Me選擇Mahout的原因 297
17.1.1 Shop It To Me公司簡(jiǎn)介 298
17.1.2 Shop It To Me需要分類系統(tǒng)的原因 298
17.1.3 對(duì)Mahout向外擴(kuò)展 298
17.2 郵件交易系統(tǒng)的一般結(jié)構(gòu) 299
17.3 訓(xùn)練模型 301
17.3.1 定義分類項(xiàng)目的目標(biāo) 301
17.3.2 按時(shí)間劃分 303
17.3.3 避免目標(biāo)泄漏 303
17.3.4 調(diào)整學(xué)習(xí)算法 303
17.3.5 特征向量編碼 304
17.4 加速分類過程 306
17.4.1 特征向量的線性組合 307
17.4.2 模型得分的線性擴(kuò)展 308
17.5 小結(jié) 310
附錄A JVM調(diào)優(yōu) 311
附錄B Mahout數(shù)學(xué)基礎(chǔ) 313
附錄C 相關(guān)資源 318
索引 320

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)