大數(shù)據(jù)挖掘工具介紹_第1頁
大數(shù)據(jù)挖掘工具介紹_第2頁
大數(shù)據(jù)挖掘工具介紹_第3頁
大數(shù)據(jù)挖掘工具介紹_第4頁
大數(shù)據(jù)挖掘工具介紹_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、大數(shù)據(jù)挖掘工具介紹第四章大數(shù)據(jù)挖掘工具4.1Mahout4.2Spark MLlib4.3其他數(shù)據(jù)挖掘工具習題of4424.1 MahoutMahout 簡介定義:Apache Mahout 是一個由Java語言實現(xiàn)的開源的可擴展的機器學習算法庫2008年之前 2010年以后 Apache Lucene開源搜索引擎的子項目 實現(xiàn)Lucene框架中的聚類以及分類算法 吸納協(xié)調(diào)過濾項目Taste成為獨立子項目發(fā)展歷史 成為Apache頂級項目 實現(xiàn)聚類、分類和協(xié)同過濾等機器學習算法 既可以單機運行也可在Hadoop平臺上運行目標:機器學習平臺,提供類似R的DSL以支持線性代數(shù)運算(如分布式向量計算

2、)、大數(shù)據(jù)統(tǒng)計等基本功能驅(qū)象人of4434.1 MahoutMahout在各平臺支持的機器學習算法算法單機MapReduceSparkH2O聚類算法Canopydeprecateddeprecatedk-meansxx模糊k-meansxx流k-meansxx譜聚類x分類算法邏輯回歸x樸素貝葉斯xx隨機森林x隱馬爾可夫模型x多層感知器x協(xié)同過濾算法基于用戶的協(xié)同過濾xx基于物品的協(xié)同過濾xxx基于ALS的矩陣分解xx基于ALS的矩陣分解(隱式反饋)xx加權(quán)矩陣分解x降維算法奇異值分解xxxxLanczosdeprecateddeprecated隨機SVDxxxxPCAxxxxQR分解xxxxo

3、f4444.1 Mahout1.下載Mahout安裝包2. 解壓并安裝Mahout3. 啟動并驗證Mahout安裝環(huán)境:Linux操作系統(tǒng)(CentOS 6.5 )、 Hadoop平臺(Hadoop 2.5.1) 鏡像網(wǎng)站/apache/mahout/of4454.1.1 Mahout 安裝4.1 MahoutK-means聚類算法基于Mahout命令運行k-means算法 基于MahoutAPI運行k-means算法基于多維輸入數(shù)據(jù)運行k-means算法同一個簇中對象具有高相似度無監(jiān)督學習算法Canopy、k-means、模糊k-means、流k-means和譜聚類等都是聚類算法本節(jié)重點of

4、4464.1.2 聚類算法4.1 Mahout基于Mahout命令運行k-means算法12個二維數(shù)據(jù)1 101 112 102 1110 110 2運行聚類算法(1.5,10.5)(10.5, 1.5 )(10.5,10.5 )聚類中心坐標以上述3個坐標為中心,半徑為(0.5,0.5),生成3個聚類,每個聚類4個成員3次迭代of4474.1 Mahout基于Mahout API運行k-means算法給出初始聚類中心1 1010 110 10調(diào)用Mahout API運行k-means聚類算法,指定Hadoop配置信息、輸入數(shù)據(jù)、初始聚類中心,迭代2次得到聚類結(jié)果of4484.1 Mahout基

5、于多維輸入數(shù)據(jù)運行k-means算法60維數(shù)據(jù)樣本600條60維趨勢數(shù)據(jù)(600行60列)表達了正常、循環(huán)、漸增、漸減、向上偏移和向下偏移6類趨勢每類100條每類取一條做初始聚類中心運行KmeansDemo類將計算出的聚類中心數(shù)據(jù)導(dǎo)入到Excel文件6個聚類中心所代表的趨勢曲線of4494.1 Mahout考察已被分類的樣本數(shù)據(jù),學習訓練分類規(guī)則有監(jiān)督學習算法進行輸入數(shù)據(jù)的類別判定垃圾郵件廣告點擊金融詐騙用電異常分類預(yù)測垃圾郵件檢測of44104.1.3 分類算法4.1 Mahout邏輯回歸算法Mahout下基于隨機梯度下降(SGD)實現(xiàn)的邏輯回歸(Logistic Regression)算法

6、是一種二元分類算法,只能在單機上運行,適合分類算法的入門學習。可視化表達樣本數(shù)據(jù)分類模型正確分類訓練學習模型評估of44114.1 Mahout樸素貝葉斯算法新聞網(wǎng)頁數(shù)據(jù)數(shù)據(jù)清洗訓練分類模型新聞類別判定共53條測試數(shù)據(jù)正確分類51條未正確分類2條of44124.1 Mahout通過收集大量用戶(協(xié)同)的喜好信息,以自動預(yù)測(過濾)用戶感興趣的商品協(xié)同過濾算法基于物品的協(xié)同過濾算法基于ALS的矩陣分解算法計算物品相似性矩陣通過矩陣分解進行預(yù)測of44134.1.4 協(xié)同過濾算法4.1 Mahout基于物品的協(xié)同過濾算法物品1物品2物品3物品4用戶1552用戶2235用戶353用戶435物品1物品

7、2物品3物品4物品10.250.660.5物品20.250.330.25物品30.660.330.25物品40.50.250.25物品1物品2物品3物品4用戶15524.25用戶223.335用戶33.6754.143用戶434.03.555用戶評分矩陣物品相似性矩陣用戶評分矩陣(補入預(yù)測評分)空白處未評分物品相似度預(yù)測評分of44144.1 Mahout基于物品的協(xié)同過濾算法實現(xiàn)代碼public class ItemCFDemo extends Configured implements Tool public static void main(String args) throws Exc

8、eption ToolRunner.run(new Configuration(), new ItemCFDemo(), args); Override public int run(String args) throws Exception Configuration conf = getConf(); try FileSystem fs = FileSystem.get(conf); String dir=/itemcfdemo; if (!fs.exists(new Path(dir) System.err.println(Please make director /itemcfdemo

9、); return 2; String input=dir+/input; if (!fs.exists(new Path(input) System.err.println(Please make director /itemcfdemo/input); return 2; String output=dir+/output; Path p = new Path(output); if (fs.exists(p) fs.delete(p, true); String temp=dir+/temp; Path p2 = new Path(temp); if (fs.exists(p2) fs.

10、delete(p2, true); RecommenderJob recommenderJob = new RecommenderJob(); recommenderJob.setConf(conf); recommenderJob.run(new String-input,input, -output,output, -tempDir,temp, -similarityClassname, TanimotoCoefficientSimilarity.class.getName(), -numRecommendations, 4); catch (Exception e) e.printSta

11、ckTrace(); return 0; of44154.1 Mahout基于ALS的矩陣分解算法特征維度1特征維度2特征維度3用戶11.121.490.48用戶21.31-0.520.59用戶31.130.67-0.52用戶41.390.050.45用戶特征矩陣U特征維度1特征維度2特征維度3物品11.811.620.74物品22.661.71-1.08物品31.73-0.230.78物品43.16-0.240.90物品特征矩陣M物品1物品2物品3物品4用戶14.796 5.009 1.969 3.614 用戶21.965 1.958 2.846 4.795 用戶32.746 4.713 1

12、.395 2.942 用戶42.930 3.297 2.744 4.785 預(yù)測評分矩陣A_k用戶評分矩陣A用戶評分矩陣U用戶評分矩陣MA=UMT預(yù)測評分矩陣A_kof4416第四章大數(shù)據(jù)挖掘工具4.1Mahout4.2Spark MLlib4.3其他數(shù)據(jù)挖掘工具習題of44174.2 Spark MLlib離散型連續(xù)型有監(jiān)督的機器學習分類邏輯回歸支持向量機(SVM)樸素貝葉斯決策樹隨機森林梯度提升決策樹 (GBT)回歸線性回歸決策樹隨機森林梯度提升決策樹 (GBT) 保序回歸無監(jiān)督的機器學習聚類k-means高斯混合快速迭代聚類(PIC)隱含狄利克雷分布(LDA)二分k-means流k-me

13、ans協(xié)同過濾、降維交替最小二乘(ALS)奇異值分解(SVD)主成分分析(PCA) MLlib支持的機器學習算法SparkMLlib運行在Spark平臺上專為在集群上并行運行而設(shè)計內(nèi)存中更快地實現(xiàn)多次迭代,適用于大規(guī)模數(shù)據(jù)集of44184.2 Spark MLlibimport org.apache.spark.mllib.clustering.KMeans, KMeansModelimport org.apache.spark.mllib.linalg.Vectors/ Load and parse the dataval data = sc.textFile(data/mllib/poin

14、ts.txt)val parsedData = data.map(s = Vectors.dense(s.split(s+).map(_.toDouble).cache()/ Cluster the data into three classes using KMeansval k = 3val numIterations = 20val clusters = KMeans.train(parsedData, k, numIterations)for(c - clusters.clusterCenters) println(c)clusters.predict(Vectors.dense(10

15、,10)/ Evaluate clustering by computing Within Set Sum of Squared Errorsval WSSSE = puteCost(parsedData)println(Within Set Sum of Squared Errors = + WSSSE)1.5,10.510.5,1.510.5,10.52Within Set Sum of Squared Errors = 6.000000000000057實現(xiàn)代碼輸出結(jié)果與Mahout下的k-means聚類應(yīng)用相比,無論在代碼量、易用性及運行方式上,MLlib都具有明顯的優(yōu)勢of44194

16、.2.1 聚類算法4.2 Spark MLlib回歸算法和分類算法都是有監(jiān)督的學習,分類算法預(yù)測的結(jié)果是離散的類別,而回歸算法預(yù)測的結(jié)果是連續(xù)的數(shù)值線性回歸最常用的算法之一,使用輸入值的線性組合來預(yù)測輸出值類LinearRegressionWithSGDMLlib實現(xiàn)線性回歸算法的常用類之一,基于隨機梯度下降實現(xiàn)線性回歸輸入函數(shù)y=0.5*x1+0.2*x2輸入數(shù)據(jù)weights: 0.5000000000539042,0.1999999999989402, intercept:0.0training Mean Squared Error = 9.576567731363342E-20輸出結(jié)果

17、of44204.2.2 回歸算法4.2 Spark MLlib0,1 0 00,2 0 00,3 0 00,4 0 01,0 1 01,0 2 01,0 3 01,0 4 02,0 0 12,0 0 22,0 0 32,0 0 4Scala代碼加載訓練數(shù)據(jù)文件解析每行數(shù)據(jù)訓練模型預(yù)測分類Vector(0 0 9) s label is 2.0Accuracy: 1.0輸出程序of44214.2.3 分類算法4.2 Spark MLlib先加載了訓練數(shù)據(jù)文件,然后解析每行數(shù)據(jù),并將其轉(zhuǎn)換為Rating對象定義特征矩陣的維度rank和算法迭代次數(shù)numIterations調(diào)用ALS的類方法trai

18、n(),根據(jù)訓練數(shù)據(jù)ratings學習出評分模型調(diào)用recommendProductsForUsers()向用戶推薦指定個數(shù)的物品MLlib中支持的是基于模型的協(xié)同過濾,即交替最小二乘(ALS)算法依舊以4.1.4節(jié)中用戶物品數(shù)據(jù)為例:of44224.2.4 協(xié)同過濾算法第四章大數(shù)據(jù)挖掘工具4.1Mahout4.2Spark MLlib4.3其他數(shù)據(jù)挖掘工具習題of44234.3 其他數(shù)據(jù)挖掘工具MahoutSpark MLlib提供標準算法,無法滿足個性化需求提供的并行化機器學習算法數(shù)量有限SystemMLGraphLabParameter ServerWEKAscikit-learn基于R

19、語言的機器學習庫H2O騰訊大規(guī)模主題模型訓練系統(tǒng)Peacock與深度學習平臺Mariana百度大規(guī)模機器學習框架ELF與機器學習云平臺BML阿里數(shù)據(jù)挖掘平臺DT PAI其他數(shù)據(jù)挖掘工具of44244.3 其他數(shù)據(jù)挖掘工具SystemMLIBM Waston Research Center 和 IBM Almaden Research Center聯(lián)合研發(fā)的大數(shù)據(jù)機器學習系統(tǒng)提供大量的監(jiān)督和非監(jiān)督的機器學習算法所需要的線性代數(shù)原語,統(tǒng)計功能和ML指定結(jié)構(gòu),可更容易也更原生地表達ML算法具有較好的可編程性和易用性,用戶不需要具備任何分布式系統(tǒng)的概念或編程經(jīng)驗,即可寫出可擴展的機器學習算法of442

20、54.3 其他數(shù)據(jù)挖掘工具GraphLab卡內(nèi)基梅隆大學的Select實驗室開發(fā)的以頂點為計算單元的大規(guī)模圖處理系統(tǒng),是一個基于圖模型抽象的可擴展的機器學習框架稀疏數(shù)據(jù)集迭代可收斂異步執(zhí)行解決優(yōu)點缺點高效處理大數(shù)據(jù)圖像算法問題或者可歸結(jié)為圖問題的機器學習和數(shù)據(jù)挖掘問題提供的接口細節(jié)比較復(fù)雜,使用難度大of44264.3 其他數(shù)據(jù)挖掘工具Parameter Server基于模型參數(shù)的抽象方法,即把所有機器學習算法抽象為對學習過程中一組模型參數(shù)的管理和控制,并提供對大規(guī)模場景下大量模型參數(shù)的有效管理和訪問機器學習算法研究者、深度優(yōu)化機器學習算法的數(shù)據(jù)分析程序員適用為大規(guī)模機器學習提供了非常靈活的模

21、型參數(shù)調(diào)優(yōu)和控制機制優(yōu)點缺少對大規(guī)模機器學習時的數(shù)據(jù)及編程計算模型的高層抽象缺點of44274.3 其他數(shù)據(jù)挖掘工具scikit-learn基于Python的機器學習庫,建立在NumPy、SciPy和matplotlib基礎(chǔ)之上,使用BSD開源許可證開發(fā)案例分類回歸聚類數(shù)據(jù)降維模型選擇數(shù)據(jù)預(yù)處理支持算法SVMK-MeansSVRLassorandom forest主要模塊of44284.3 其他數(shù)據(jù)挖掘工具WEKA現(xiàn)今最完備的數(shù)據(jù)挖掘工具之一,數(shù)據(jù)挖掘和機器學習歷史上的里程碑WEKA可視化GUI界面分類歸類聚類關(guān)聯(lián)of44294.3 其他數(shù)據(jù)挖掘工具基于R語言的機器學習庫R語言目前在數(shù)據(jù)分析應(yīng)用領(lǐng)域最廣為使用的數(shù)據(jù)分析、統(tǒng)計計算及制圖的開源軟件系統(tǒng),提供了大量的專業(yè)模塊和實用工具R語言R中處理大數(shù)據(jù)RHadoopRHDFSRHBaseSparkRMapReduceof44304.3 其他數(shù)據(jù)挖掘工具H2O服務(wù)于數(shù)據(jù)科學家和開發(fā)者的開源機器學習和深度學習的平臺of44314.3 其他數(shù)據(jù)挖掘工具騰訊大規(guī)模主題模型訓練系統(tǒng)Peacock與深度學習平臺MarianaPeacock:大規(guī)模LDA主題模型訓練系統(tǒng),用于語義理解、興趣挖掘、用戶拓展、QQ群推薦

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論