基于MapReduce開發的數據挖掘/機器學習庫 - Mahout
傳統數據挖掘/機器學習庫存在的問題
缺少一個活躍的技術社區
擴展性差
文檔化差,缺少實例
不開源,商業化庫
通常由研究機構開發
實施性差
Apache Mahout優點技術社區活躍
擴展性好
文檔化好,實例豐富
100%源代碼開源
易于使用
Apache Mahout是什么基于MapReduce開發的數據挖掘/機器學習庫
良好的擴展性和容錯性
充分利用了MapReduce和HDFS的擴展性和容錯性
屬于Hadoop生態系統重要組成部分
Apache Software License 2
實現了大部分常用的數據挖掘算法
聚類算法
分類算法
推薦算法
Mahout提供的算法http://cwiki.apache.org/confluence/display/MAHOUT/Algorithms
將類似的對象劃分成多個類的過程
“物以類聚,人以群分”
以k-means聚類算法為例介紹
給定聚類個數k
按照數據特征,將其分為k個類別
分類的基本流程有監督機器學習算法
需提供樣本,根據樣本得到分類模型
分類三步驟
步驟1:訓練樣本,得到分類模型;
步驟2:對分類模型進行測試,并嘗試調優
步驟3:將分類模型用于線上產品中
推薦算法介紹誕生于電子商務系統中;
根據用戶的興趣特點和購買行為,向用戶推薦用戶感興趣的信息和商品;
以協同過濾推薦算法為例進行介紹
推薦系統中應用最早和最為成功的技術之一
假設:為一用戶找到他真正感興趣的內容的好方法是首先找到與此用戶有相似興趣的其他用戶,然后將他們感興趣的內容推薦給此用 戶
協同過濾推薦算法—基本元素Item
能夠被推薦給使用者的項目
User
能夠推Item做評分,能為系統推薦Item的使用者
Preference
User對Item的評分
{ userId, itemId, rating }
User-Item矩陣
User-based
基于使用者間的相似性推薦項目
Item-based
基于項目間的相似性推薦給使用者
各有優劣
User-based的推薦效果好
Item-based的計算效率高
Taste: Mahout自帶的一個推薦系統實現Taste 是 Apache Mahout 提供的一個協同過濾算法的高效實現;
基于 Java 實現的可擴展的,高效的推薦引擎;
實現了最基本的基于用戶的和基于內容的推薦算法,也提供了擴展接口,使用戶可以方便的定義和實現自己的推薦算法;
Taste 的設計使它能滿足企業對推薦引擎在性能、靈活性和可擴展性等方面的要求。
總結
1.數據挖掘/機器學習算法對技術人員有較高要求;
2.Mahout提供了一個通用數據挖掘/機器學習庫,但對技術人員要求仍非常高;
來自: http://blog.csdn.net/matthewei6/article/details/50546080