接觸r語言一段時間,在遊戲行業裡面採用r對大資料處理與分析似乎還不那麼普片,由於r語言的開源性質給我們帶來了很多方便與靈活。最近一段時間在構建挖掘分析平台上運用了r語言,也感覺開闢了乙個新的天地。
基於分布式的hadoop在資料儲存讀取過程已經有了一定的優勢,依靠這樣的優勢直接運用r語言的rjdbc包鏈結hive傳遞sql進行資料查詢匯入, 得到的資料在r語言裡面進行資料預處理與演算法建模過程,再把分析模型的結果集儲存到本地的mysql,然後提供作為php的資料查詢,從而讓php進行分 析挖掘後台的資料視覺化處理,這樣子就形成了一條
「視覺化資料探勘閉環」(英語:visual data mining closed loop,簡稱:vdmcl):
hive -> r -> mysql -> php -> 資料視覺化
而這個閉環中需要了解很多知識:hive基礎、linux基本操作、sql、r語言、挖掘演算法、mysql、php。(如果可以乙個人就搞定,那麼那個人實在太牛b了,哈)
而在此之前我們必須要了解的一點的就是r語言的一些基本操作與知識,首先我們來了解下r語言如何連線資料庫的。(以下連線的資料庫是基於linux伺服器,如果遠端伺服器搞懂了,本地的相對簡單)
首先安裝我們需要的rjdbc包,然後再用library呼叫我們的rjdbc包(注意,r語言是對大小寫敏感的)
添 加好jdbc之後,用dbconnect函式連線hive,用dbgetquery函式寫sql語句查詢準備需要分析的資料。當進行到這一步的時候事情已 經完成一大步。起碼已經得到了我們想要的資料,接下來的就是用r語言對我們的原始資料進行預處理,而接下來就是上一節我們說到的《流失**模型》在r中的 處理模型過程。(以下只是乙個針對具體模型之前資料處理過程的乙個示例,實際的資料處理過程還要根據具體的資料來做)
在進行資料預處理的時候,最好在sql的時候進行第一次預處理,接下來再用r進行第二次資料處理。
當資料處理完畢之後就需要進行模型的訓練,此處用到的是c5.0演算法,在r語言中也有c50的演算法包,在進行下一步之前先載入c50演算法包,而演算法包如何用可以輸入: ?c5.0
c5.0(x, ...)
## default s3 method:
c5.0(x, y, trials = 1, rules= false,
weights = null, control = c5.0control(), costs = null, ...) (關於c50演算法包的引數設定運用這裡不詳細說)
這裡的x是我們需要的引數變數,而y則是我們的目標變數,而深一層決策樹引數設定則在control函式裡面,這裡面可以控制進行train與test模型的sample比例,以及變數重要性等。
當訓練完模型之後我們可以得到乙個treemodel,之後就可以運用這個訓練好的treemodel進行模型,而進行**的時候,c50包提供了乙個函式predict.c5.0,
## s3 method for class 'c5.0'
predict(object, newdata = null, trials = object$trials["actual"],
type = "class", na.action = na.pass, ...)(詳細請輸入"?predict.c5.0"查詢)
如果有一點r語言基礎與資料探勘基礎,到了這裡或許你已經基本知道怎麼完成了,其實就是按照了crisp-dm的資料探勘方**:
業務目標-> 資料理解-> 資料準備-> 模型過程-> 模型評估-> 模型應用
上面的這些工作似乎只完成了vdmcl的前兩步:hive-> r。而是否能建立乙個集高效性、及時性、準確性、普遍性的資料探勘系統在遊戲行業裡面至關重要,這些都因為現在遊戲行業的反應週期越來越短,需要在短時間內對發現的運營問題進行分析與解答,而常規的vdmcl就很好的解決了這問題。
簡單粗略的說了一下vdmcl的思想,其中還有很多細節的東西,如r語言的rstduio server搭配linux系統,r語言與mysql之間的資料交換,php與r語言之間的引數傳遞等等細節問題。今天就先到這,之後再接上。
r語言electricity資料集 R語言 資料集
第二章 建立資料集 1.r語言的資料型別 數值型 字元型 邏輯型 複數型 虛數 和原生型 位元組 2.資料結構 a.向量 儲存數值型 字元型和邏輯型資料的一維陣列 a c 1,2,3,4,5 建立 組合功能的函式c a 1 1 2 3 4 5 a c 1,4 訪問 方括號 向量中指定的元素 1 1 ...
r語言mfrow全程 R語言程式
相信很多都對前面我說的r語言感興趣吧,分享一下我的資料吧。這是關於驗證中心極限定理的r程式!驗證 無論隨機變數原來服從哪種分布,只要樣本容量足夠大,其均數都會服從正態分佈 1.正態分佈 ax axwindows 1280,720 par mfrow c 2,2 plot density a a ma...
R語言 理解R效能
通過了解限制r計算效能的因素,從而更好的利用起r的效能,影響r的因素 cpu,ram,磁碟i o,演算法。所以,當資料量小時,計算複雜度高,會受到cpu影響。資料量大時,會受到磁碟i o還有ram的影響。r是解釋型語句,即每次執行r程式的時候,r 需要重新解釋翻譯成機器 即使 不變。因為每次執行時,...