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

下載本文檔

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

文檔簡介

1、大數(shù)據(jù)R語言介紹第五章R語言5.1R語言簡介5.2R與數(shù)據(jù)挖掘5.3SparkR習題of4425.1 R語言簡介用于統(tǒng)計計算和作圖的語言計量經(jīng)濟學實證金融學統(tǒng)計遺傳學等免費、開源及統(tǒng)計模塊齊全R語言數(shù)據(jù)挖掘機器學習自然語言處理等十大熱門編程語言第七位of4435.1 R語言簡介基于S語言的一個GNU項目,語法來自Scheme語言,R語言的源代碼正式發(fā)布到自由軟件協(xié)會的FTP上核心開發(fā)團隊達到20人,來自牛津大學、AT&T實驗室等等。不單是一門語言,更是一個數(shù)據(jù)計算與分析的環(huán)境,內(nèi)容涵蓋了從統(tǒng)計計算到機器學習,從金融分析到生物信息,從社會網(wǎng)絡(luò)分析到自然語言處理,從各種數(shù)據(jù)庫各種語言接口到高性能計

2、算模型S語言1995年2013年of4445.1.1R語言產(chǎn)生與發(fā)展歷程5.1 R語言簡介5.1.2 R語言基本功能介紹數(shù)據(jù)存儲和處理系統(tǒng)數(shù)組運算工具,(其向量、矩陣運算方面功能尤其強大)完整連貫的統(tǒng)計分析工具優(yōu)秀的統(tǒng)計制圖功能R語言是一套完整的數(shù)據(jù)處理、計算和制圖軟件系統(tǒng),主要包括以下功能of4455.1 R語言簡介豐富的數(shù)據(jù)讀取和存儲能力可以保存和加載R語言的數(shù)據(jù),與R.data的交互是通過R語言的save( )函數(shù)和load()函數(shù)實現(xiàn)的能夠加載和導(dǎo)出.csv文件(write.csv()函數(shù)和read.csv()函數(shù))能夠?qū)隨PSS/SAS/Matlab等數(shù)據(jù)集可以通過RODBC接口,

3、從數(shù)據(jù)庫中導(dǎo)入數(shù)據(jù)可以通過odbcConnectExcel接口從Excel表格中導(dǎo)入數(shù)據(jù)R語言讀取存儲of4465.1 R語言簡介豐富的數(shù)據(jù)處理功能數(shù)據(jù)挖掘中,需要花70%以上的時間在數(shù)據(jù)處理上,R語言提供豐富的數(shù)據(jù)處理功能篩選filter() 按給定的邏輯判斷篩選出符合要求的子數(shù)據(jù)集排列arrange() 按給定的列名依次對行進行排序選擇select() 用列名作參數(shù)來選擇子數(shù)據(jù)集變形mutate()或transformation()用來進行列變形匯總summarise()進行匯總操作,返回一維結(jié)果分組分組動作 group_by()of4475.1 R語言簡介豐富的數(shù)據(jù)處理能力向量因子數(shù)組矩

4、陣列表R語言處理數(shù)據(jù)的最基本單位是向量,而不是原子數(shù)據(jù)R語言定義了一類非常特殊的數(shù)據(jù)類型:因子數(shù)組是向量和矩陣的直接推廣,是由三維或三維以上的數(shù)據(jù)構(gòu)成的較復(fù)雜的繼承關(guān)系,和數(shù)組的關(guān)系既是父親又是兒子,還是孫子列表由向量直接派生而來數(shù)據(jù)框可以將幾個不同類型但長度相同的向量合并到一個數(shù)據(jù)框特殊值數(shù)據(jù)定義了如NULL、NA、NaN、inf等特殊數(shù)據(jù)有用函數(shù)提供了獲取數(shù)據(jù)類型信息的一些有用函數(shù)of4485.1 R語言簡介統(tǒng)計分析應(yīng)用數(shù)學計量經(jīng)濟金融分析財經(jīng)分析生物信息學數(shù)據(jù)可視化數(shù)據(jù)挖掘人工智能R語言應(yīng)用領(lǐng)域of4495.1.3 R語言常見的應(yīng)用領(lǐng)域第五章R語言5.1R語言簡介5.2R與數(shù)據(jù)挖掘5.3

5、SparkR習題of44105.2 R與數(shù)據(jù)挖掘數(shù)據(jù)挖掘數(shù)據(jù)挖掘(Data Mining)是從大量的數(shù)據(jù)中發(fā)現(xiàn)有趣知識的過程,涉及統(tǒng)計學、機器學習、模式識別等多個交叉;主要技術(shù)包括分類與預(yù)測、聚類、離群點檢測、關(guān)聯(lián)規(guī)則、序列分析和文本挖掘以及社交網(wǎng)絡(luò)分析和情感分析等。R語言與數(shù)據(jù)挖掘有關(guān)的任務(wù)視圖MachineLearning:主要涉及機器學習和統(tǒng)計學習功能Cluster:主要涉及聚類分析和有限混合模型TimeSeries:主要涉及時間序列分析Multivariate:主要用于多元統(tǒng)計分析及其算法Spatial:主要用于空間數(shù)據(jù)分析R語言主要用于統(tǒng)計計算和統(tǒng)計制圖,提供了大量的統(tǒng)計和制圖工具o

6、f44115.2 R與數(shù)據(jù)挖掘K-近鄰算法決策樹支持向量機分類與預(yù)測算法分類與預(yù)測算法of44125.2.1 R軟件包與常見的數(shù)據(jù)挖掘算法介紹5.2 R與數(shù)據(jù)挖掘分類與預(yù)測算法K-近鄰算法of4413如果一個樣本與特征空間中的K個最相似(特征空間中最鄰近)的樣本中的大多數(shù)屬于某一個類別,則該樣本也屬于這個類別 library(kknn) data(iris) m val +prob=rep(1/m,m) iris.learn iris.valid iris.kknn +kernel=triangular) summary(iris.kknn) fit table(iris.valid$Spec

7、ies,fit)fit setosa versicolor virginicasetosa 12 0 0versicolor 0 21 0virginica 0 0 17kknn函數(shù)的使用5.2.1 R軟件包與常見的數(shù)據(jù)挖掘算法介紹5.2 R與數(shù)據(jù)挖掘分類與預(yù)測算法決策樹of4414iris數(shù)據(jù)集的決策樹決策樹(Decision Tree)是一種依托于分類、訓練上的預(yù)測樹,根據(jù)已知預(yù)測、歸類未來生成樹階段決策樹修剪階段5.2.1 R軟件包與常見的數(shù)據(jù)挖掘算法介紹5.2 R與數(shù)據(jù)挖掘分類與預(yù)測算法支持向量機of4415支持向量機(Support Vector Machine,SVM)是一個二分類

8、的辦法,即將數(shù)據(jù)集中的數(shù)據(jù)分為兩類SVM中的超平面對比利用超平面分割數(shù)據(jù)集5.2.1 R軟件包與常見的數(shù)據(jù)挖掘算法介紹5.2 R與數(shù)據(jù)挖掘聚類算法及其R包“聚類”是根據(jù)“物以類聚”的原理,將本身沒有類別的樣本聚集成不同的組(或稱為簇),并對每個簇進行描述的過程常用的聚類算法主要包括K-means聚類、層次聚類和基于密度的聚類K-means聚類層次聚類基于密度的聚類of44165.2.1 R軟件包與常見的數(shù)據(jù)挖掘算法介紹5.2 R與數(shù)據(jù)挖掘聚類算法及其R包K-means聚類of4417同一聚類中的對象相似度較高;而不同聚類中的對象相似度較小部分鳶尾花數(shù)據(jù)的3-means聚類結(jié)果5.2.1 R軟件

9、包與常見的數(shù)據(jù)挖掘算法介紹5.2 R與數(shù)據(jù)挖掘聚類算法及其R包層次聚類of4418一層一層地進行聚類,可以從下而上地把小的cluster合并聚集,也可以從上而下地將大的cluster進行分割iris數(shù)據(jù)集中20個樣本的層次聚類結(jié)果5.2.1 R軟件包與常見的數(shù)據(jù)挖掘算法介紹5.2 R與數(shù)據(jù)挖掘聚類算法及其R包基于密度的聚類of4419DBSCAN算法的數(shù)據(jù)集DBSCAN算法的密度聚類結(jié)果關(guān)鍵參數(shù)可到距離,用于定義鄰域的大小eps最小數(shù)目的對象點MinPts5.2.1 R軟件包與常見的數(shù)據(jù)挖掘算法介紹5.2 R與數(shù)據(jù)挖掘離群點檢測與R包離群點檢測與R包單變量的離群點檢測返回的統(tǒng)計信息用于繪制箱體

10、圖實現(xiàn)多變量離群點的檢測多變量離群點檢測局部離群點因子檢測用聚類方法進行離散點檢測基于密度的局部離群點檢測將不屬于任務(wù)一類的數(shù)據(jù)作為異常值檢測of44205.2.1 R軟件包與常見的數(shù)據(jù)挖掘算法介紹5.2 R與數(shù)據(jù)挖掘關(guān)聯(lián)規(guī)則與R包Groceries數(shù)據(jù)集關(guān)聯(lián)度的散點圖top-10關(guān)聯(lián)規(guī)則關(guān)系圖of44215.2.1 R軟件包與常見的數(shù)據(jù)挖掘算法介紹5.2 R與數(shù)據(jù)挖掘時間序列分類與R包人口出生率時間序列圖出生率時間序列解構(gòu)圖of44225.2.1 R軟件包與常見的數(shù)據(jù)挖掘算法介紹5.2 R與數(shù)據(jù)挖掘文本挖掘提取文本中的詞語,并統(tǒng)計頻率of44235.2.1 R軟件包與常見的數(shù)據(jù)挖掘算法介紹5

11、.2 R與數(shù)據(jù)挖掘背景河流中海藻的集中爆發(fā)不僅會對河流的生態(tài)環(huán)境造成破壞,還會影響河流的水質(zhì)需求基于以往的觀測數(shù)據(jù),對河流中海藻的爆發(fā)情況進行預(yù)測并采取必要防范措施以提高河流的水質(zhì)量方法以海藻樣本數(shù)據(jù)為數(shù)據(jù)集,通過數(shù)據(jù)挖掘的方式分析影響海藻爆發(fā)的主要因素,并通過構(gòu)建預(yù)測模型,對海藻的爆發(fā)情況進行事先預(yù)測of44245.2.2 R在數(shù)據(jù)挖掘中的應(yīng)用舉例5.2 R與數(shù)據(jù)挖掘數(shù)據(jù)集加載數(shù)據(jù)集中的數(shù)據(jù)分析預(yù)測模型的構(gòu)建模型的評價與選擇海藻爆發(fā)頻率預(yù)測完成對海藻爆發(fā)情況的實現(xiàn)預(yù)測無效數(shù)據(jù)處理of44255.2.2 R在數(shù)據(jù)挖掘中的應(yīng)用舉例5.2 R與數(shù)據(jù)挖掘of4426 lm.predictions.a

12、1 rt.predictions.a1 mae.a1.lm mae.a1.rt mae.a1.lm #顯示線性回歸模型預(yù)測值的平均誤差1 13.10681 mae.a1.rt #顯示回歸樹模型預(yù)測值的平均誤差1 8.480619部分代碼線性回歸和回歸樹模型的預(yù)測回歸樹的MAE值為8.48線性回歸模型的MAE值 13.11回歸樹模型的預(yù)測值的平均誤差要優(yōu)于線性回歸模型預(yù)測值的平均誤差5.2.2 R在數(shù)據(jù)挖掘中的應(yīng)用舉例第五章R語言5.1R語言簡介5.2R與數(shù)據(jù)挖掘5.3SparkR習題of44275.3 SparkRtaFrames的數(shù)據(jù)來源非常廣泛高擴展性DataFrames的優(yōu)化SparkR

13、就是用R語言編寫Spark程序,它允許數(shù)據(jù)科學家分析大規(guī)模的數(shù)據(jù)集,并通過R Shell交互式地在SparkR上運行作業(yè)上123SparkR的核心是SparkR DataFrame,數(shù)據(jù)組織成一個帶有列名的分布式數(shù)據(jù)集對RDD API的支持4of44285.3.1 SparkR 簡介5.3 SparkR1. Linux下安裝R2. rJava包安裝3. SparkR的安裝首先在官網(wǎng)下載R的軟件包,官網(wǎng)網(wǎng)址為/SparkR包對rJava包有依賴關(guān)系,因此,在安裝SparkR之前,需要先完成rJava包的安裝為了避免Spark版本的兼容問題,采用源碼編譯的方式來安裝SparkRof44295.3.

14、2 SparkR 環(huán)境搭建5.3 SparkR創(chuàng)建SparkSession創(chuàng)建SparkDataFrmesSparkSession(即Spark會話)是SparkR的切入點,它使得R程序和Spark集群相互通信根據(jù)需要從本地R數(shù)據(jù)框(R data frame),Hive表(Hive table)或者從其他數(shù)據(jù)源創(chuàng)建SparkDataFrmesof44305.3.3 SparkR 使用5.3 SparkRHQL是一種類SQL的語言,這種語言最終被轉(zhuǎn)化為Map/Reduce,通過Hive可以使用HQL語言查詢存放在HDFS上的數(shù)據(jù)SparkR利用Hive表來創(chuàng)建DataFrame;將DataFra

15、me轉(zhuǎn)化為Spark SQL;SparkR提供了對HQL的支持和API,但是Hive適合用來對一段時間內(nèi)的數(shù)據(jù)進行分析查詢of44315.3.4 SparkR 與HQL5.3 SparkR廣義線性模型簡單最小二乘回歸(OLS)的擴展,響應(yīng)變量可以是正整數(shù)或分類數(shù)據(jù),為某指數(shù)分布族,期望值函數(shù)與預(yù)測變量之間為線性關(guān)系,需要指定分布類型和連接函數(shù)加速失效時間生存回歸模型AFT模型將經(jīng)典線性回歸模型的建模方法直接拓展到了生存分析領(lǐng)域,即具有截尾生存時間的情形樸素貝葉斯模型通過某對象的先驗概率,利用貝葉斯公式計算出其后驗概率,選擇具有最大后驗概率的類作為該對象所屬的類K-means模型SparkR提供

16、了對K-means算法的支持,K-means算法是很典型的基于距離的聚類算法,采用距離作為相似性的評價指標模型的保存與加載模型訓練好了以后,需要將訓練好的模型保存起來,以便下一次再用of44325.3.5 SparkR實現(xiàn)的主要機器學習算法概述5.3 SparkR利用SparkR提供的接口函數(shù),在Hadoop集群環(huán)境中對“德國信用數(shù)據(jù)集”進行處理,并利用訓練得到的信用梯度損失模型對貸款人的信用度進行預(yù)測加載Spark解析文件矩陣形式從HDFS中讀取德國信用數(shù)據(jù)文件預(yù)測模型模型評價分割為訓練數(shù)據(jù)集和測試數(shù)據(jù)集完成模型訓練和數(shù)據(jù)預(yù)測梯度下降算法優(yōu)化損失函數(shù)和邏輯回歸算法對借款人的信用進行評級of4

17、4335.3.6 SparkR在數(shù)據(jù)分析中的應(yīng)用舉例5.3 SparkRof4434部分代碼利用梯度下降算法優(yōu)化損失函數(shù)和邏輯回歸算法,計算信用等級預(yù)測模型 # 初始化向量theta theta hypot gCost - function(t,X,y) + 1/nrow(X)*(t(X)%*%(hypot(X%*%t)-y)# 定義訓練函數(shù)+ train - function(theta, rdd) # 計算梯度+ gradient_rdd - lapplyPartition(rdd, function(part) + X - part,1:25+ y - part,26+ p_gradient - gCost(theta,X,y)+ list(list(1, p_gradient)+ )+ agg_gradient_rdd alpha tol ste

溫馨提示

  • 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

提交評論