優云軟件數據專家最佳實踐:數據挖掘與運維分析

0.jpg

這份研究報告,作者是優云軟件數據專家陳是維,在耗時1年時間制作的一份最佳實踐,今天和大家分享下,關于《數據采礦和運維分析》,共同探討~

數據挖掘(Data Mining)是從大量數據中提取或“挖掘”知識。

廣義數據挖掘:數據挖掘是從存放在數據庫、數據倉庫或其它信息庫中的大量數據挖掘有趣知識的過程。

數據挖掘技術側重:1)概率與數理統計 2)數據庫技術 3)人工智能技術 4)機器學習。

1. 數據清理:消除噪音或不一致數據

2. 數據集成:多種數據源可以組合在一起

3. 數據選擇:從數據庫中提取與分析任務相關的數據

4. 數據變換:數據變換或統一成適合挖掘的形式

5. 數據挖掘:基本步驟,使用智能方法提取數據模式

6. 模式評估:根據某種興趣度度量,識別提供知識的真正有趣的模式

7. 知識表示:使用可視化和知識表示技術,向用戶提供挖掘的知識

數據挖掘的過程圖

1.png

優秀的數據挖掘軟件工具包

OFFICE EXCEL:最為常見的數據分析挖掘工具。

SPSS 的一套工具:包括SPSS電子表格、SPSS SAS、SPSSClementine。

MATLAB:矩陣實驗室,也有各種matlab工具箱。

1.1.png

關聯規則簡介

購物籃分析:啤酒尿布問題,關聯規則挖掘首先找出頻繁項集,項的集合,如A 和B,滿足最小支持度閾值,并滿足最小置信度閾值,產生形如A  B 的強關聯規則。

Apriori算法是一種有效的關聯規則挖掘算法,它逐級探查,進行連接和剪枝,找出極大頻繁集。性質:頻繁項集的所有非空子集都必須是頻繁的。

FP(頻繁模式)樹算法:頻繁模式增長是一種不產生候選的挖掘頻繁項集方法。它構造一個高度壓縮的數據結構FP-樹,壓縮原來的事務數據庫,聚焦于頻繁模式片段增長,避免了高代價的候選產生,獲得更好的效率。

提升度:相關性度量、興趣度:并非所有的強關聯規則都是有趣的。對于統計相關的項,可以挖掘相關規則。

Apriori算法例子

2.png

找出對應強關聯規則

3.png

關聯規則在運維方面的應用

告警的關聯挖掘

挖掘告警的頻繁項集,如告警A  告警B,分析告警的連鎖性。有利于告警的預測管理及處理和優化。

用戶行為關聯分析

基于日志信息的采集分析用戶行為的連鎖相關性,有利于進行功能的位置的調整優化,提高用戶的體驗效果。

server請求關聯分析

分析用戶行為的連鎖相關性,有利于進行功能的位置的調整優化,提高用戶的體驗效果。

崩潰和錯誤的關聯分析

挖掘引起崩潰或錯誤的原因,即在什么樣的情形下經常導致崩潰或錯誤,有利于對崩潰或錯誤進行處理,提出改進方案。

分類在運維方面的應用

分類——有監督學習

決策樹:CLS(最基本)、ID3(信息增益) 、C4.5(信息增益率)、CART(二叉決策樹)是決策樹歸納的貪心算法。每種算法都使用一種信息論度量,為樹中每個非樹葉結點選擇測試屬性。剪枝算法試圖通過剪去反映數據中噪音的分枝,提高準確率。

隨機森林(分類和回歸):是一個包含多個決策樹的分類器, 并且其輸出的類別是由個別樹輸出的類別的眾數而定。

神經網絡:是一組連接的輸入/輸出單元,其中每個連接都與一個權重相關聯。多層前饋神經網絡由一個輸入層,一個或多個隱藏層和一個輸出層組成。。

支持向量機(SVM):是一種用于線性和非線性數據的分類算法。它將原數據變換到較高維空間,使用稱作支持向量的基本訓練元組,從中發現分離數據的超平面。

關聯分類:關聯挖掘技術在大型數據庫中搜索頻繁出現的模式,模式可以產生規則,可以分析這些規則,用于分類。

貝葉斯分類:基于貝葉斯定理,其假定類條件獨立。樸素貝葉斯分類和貝葉斯信念網絡基于后驗概率的貝葉斯定理。貝葉斯信念網絡允許在變量子集之間定義類條件獨立性。

k最近鄰分類法:基于距離的分類算法,基于距離的分類算法,惰性學習方法。

決策樹例子

1.運維人員是否對告警進行及時處理的決策樹(剪枝后)

2.計算各個不同維度對最后決策的影響(信息增益率)從高到低進行分支。

3.C4.5也是數據挖掘十大算法之首(J48 in weka)

4.png

分類——有監督學習

決策樹:CLS(最基本)、ID3(信息增益) 、C4.5(信息增益率)、CART(二叉決策樹)是決策樹歸納的貪心算法。每種算法都使用一種信息論度量,為樹中每個非樹葉結點選擇測試屬性。剪枝算法試圖通過剪去反映數據中噪音的分枝,提高準確率。

隨機森林(分類和回歸):是一個包含多個決策樹的分類器, 并且其輸出的類別是由個別樹輸出的類別的眾數而定。——回歸分析中再詳細說。

神經網絡:是一組連接的輸入/輸出單元,其中每個連接都與一個權重相關聯。多層前饋神經網絡由一個輸入層,一個或多個隱藏層和一個輸出層組成。

支持向量機(SVM):是一種用于線性和非線性數據的分類算法。它將原數據變換到較高維空間,使用稱作支持向量的基本訓練元組,從中發現分離數據的超平面。

關聯分類:關聯挖掘技術在大型數據庫中搜索頻繁出現的模式,模式可以產生規則,可以分析這些規則,用于分類。

貝葉斯分類:基于貝葉斯定理,其假定類條件獨立。樸素貝葉斯分類和貝葉斯信念網絡基于后驗概率的貝葉斯定理。貝葉斯信念網絡允許在變量子集之間定義類條件獨立性。

k最近鄰分類法:基于距離的分類算法,基于距離的分類算法,惰性學習方法。

BP神經網絡例子

BP網絡:后向傳播是一種用于分類的神經網絡算法,使用梯度下降方法

5.jpg

分類——有監督學習

決策樹:CLS(最基本)、ID3(信息增益) 、C4.5(信息增益率)、CART(二叉決策樹)是決策樹歸納的貪心算法。每種算法都使用一種信息論度量,為樹中每個非樹葉結點選擇測試屬性。剪枝算法試圖通過剪去反映數據中噪音的分枝,提高準確率。

隨機森林(分類和回歸):是一個包含多個決策樹的分類器, 并且其輸出的類別是由個別樹輸出的類別的眾數而定。

神經網絡:是一組連接的輸入/輸出單元,其中每個連接都與一個權重相關聯。多層前饋神經網絡由一個輸入層,一個或多個隱藏層和一個輸出層組成。。

支持向量機(SVM):是一種用于線性和非線性數據的分類算法。它將原數據變換到較高維空間,使用稱作支持向量的基本訓練元組,從中發現分離數據的超平面。

關聯分類:關聯挖掘技術在大型數據庫中搜索頻繁出現的模式,模式可以產生規則,可以分析這些規則,用于分類。

貝葉斯分類:基于貝葉斯定理,其假定類條件獨立。樸素貝葉斯分類和貝葉斯信念網絡基于后驗概率的貝葉斯定理。貝葉斯信念網絡允許在變量子集之間定義類條件獨立性。

k最近鄰分類法:基于距離的分類算法,基于距離的分類算法,惰性學習方法。

支持向量機例子

6.jpg

通過搜索maximum marginal hyperplane(MMH)來處理問題

分類——有監督學習

決策樹:CLS(最基本)、ID3(信息增益) 、C4.5(信息增益率)、CART(二叉決策樹)是決策樹歸納的貪心算法。每種算法都使用一種信息論度量,為樹中每個非樹葉結點選擇測試屬性。剪枝算法試圖通過剪去反映數據中噪音的分枝,提高準確率。

隨機森林(分類和回歸):是一個包含多個決策樹的分類器, 并且其輸出的類別是由個別樹輸出的類別的眾數而定。

神經網絡:是一組連接的輸入/輸出單元,其中每個連接都與一個權重相關聯。多層前饋神經網絡由一個輸入層,一個或多個隱藏層和一個輸出層組成。。

支持向量機(SVM):是一種用于線性和非線性數據的分類算法。它將原數據變換到較高維空間,使用稱作支持向量的基本訓練元組,從中發現分離數據的超平面。

關聯分類:關聯挖掘技術在大型數據庫中搜索頻繁出現的模式,模式可以產生規則,可以分析這些規則,用于分類。

貝葉斯分類:基于貝葉斯定理,其假定類條件獨立。樸素貝葉斯分類和貝葉斯信念網絡基于后驗概率的貝葉斯定理。貝葉斯信念網絡允許在變量子集之間定義類條件獨立性。

k最近鄰分類法:基于距離的分類算法,惰性學習方法。

K最近鄰分類法例子

5-最近鄰分類

7.jpg

將所有訓練元組儲存在模式空間中,一直等到經驗元組出現才進行分類。

分類在運維方面的應用

由于是有監督,必須已經有一些決策數據后才可以訓練分類的模型

8.jpg

聚類分析在運維方面的應用

聚類——無監督學習

樣本沒有標記,根據距離把樣本聚為k類

聚類分析是一個活躍的研究領域。

數據類型:數據矩陣:p個變量n個對象

相異度矩陣:相異度(距離)定義需滿足

1)       d(i,j)>=0;

2)       d(i,i)=0;

3)       d(i,j)=d(j,i);

4)       d(i,j)<=d(i,k)+d(k,j).

最常見的距離是歐式距離和曼哈頓距離

常用的距離還有:相似矩陣轉換的距離

9.jpg

聚類的方法

聚類分析許多聚類算法已經被開發出來,具體可以分為劃分方法,層次方法,基于密度的方法,基于網格的方法。

劃分方法首先得到初始的k 個劃分的集合,這里的參數k是要構建的劃分的數目;然后它采用迭代重定位技術,試圖通過將對象從一個簇移到另一個來改進劃分的質量。有代表性的劃分方法包括k-means聚類、EM(期望最大化)算法。

層次方法創建給定數據對象集合的一個層次性的分解。根據層次分解的形成過程,這類方法可以被分為自底向上的,或自頂向下的。有代表性的層次方法包括系統聚類法、模糊聚類方法。

K-means聚類

K-means聚類算法是距離平方和最小聚類法

[1] 假設要聚成K 個類。由人為決定K 個類中心。

[2] 在第i 次疊代中,計算每個樣本點到K個類中心的距離,并將它歸     入最近的類。

[3] 計算新類的類中心為每一類的重心,并重新計算每個樣本點到K 個類中心的距離,重新分類。

[4] 直到類中心的變化很小或已到最大迭代為止。

聚類的方法

聚類分析許多聚類算法已經被開發出來,具體可以分為劃分方法,層次方法,基于密度的方法,基于網格的方法。

劃分方法首先得到初始的k 個劃分的集合,這里的參數k是要構建的劃分的數目;然后它采用迭代重定位技術,試圖通過將對象從一個簇移到另一個來改進劃分的質量。有代表性的劃分方法包括k-means聚類、EM(期望最大化)算法。

層次方法創建給定數據對象集合的一個層次性的分解。根據層次分解的形成過程,這類方法可以被分為自底向上的,或自頂向下的。有代表性的層次方法包括系統聚類法、模糊聚類方法。

系統聚類法

系統聚類法即譜系聚類法分層聚類法。

10.jpg

譜系圖

11.jpg

12.jpg

聚類在運維方面的應用

離群點檢測在運維方面的應用

離群點檢測

離群點(outlier)分析也叫異常檢測。

離群點是一個數據對象,它顯著不同于其他數據對象。

離群點類型

13.jpg

離群點檢測的方法

14.jpg

離群點檢測在運維方面的應用

15.jpg

統計分析在運維方面的應用

統計分析方法

16.jpg

▲主成分分析:是將多個指標化為少數指標的一種統計方法。(降維)

應用:(1)解釋,在心理學與社會學中的應用(2)綜合評價,如衡量企業的指標有很多,各種指標對不同企業來說,差異很大,通過主成分分析,用很少的綜合指標進行評價。(3)分類:用兩個主成分,在圖上可以分類。聚在一起的屬于同一類,離得很遠,說明差別很大。

步驟:1)標準化數據矩陣,2)計算相關系數陣R,3)計算特征根排序,4)確定主成分,5)計算單位特征向量,6)寫出主成分。

▲因子分析:主成分分析的推廣。

目的:(理論)是研究原始變量的內部關系,簡化原變量的協方差結構,分析變量中存在的復雜關系;(應用)是尋找眾多變量的公共因子,即探討多個能直接測量且有相關性的指標是如何受少數幾個不能直接測量的相對獨立的因子支配的。

基本思想:根據相關性的大小把變量分組,使得同組內的變量間相關性(共性)較高,而不同組的變量相關性較低。

步驟:1)標準化數據矩陣,2)計算相關系數陣R(協方差),3)求R特征根及特征向量,4)計算得到因子載荷A,5)因子旋轉(方差極大旋轉)、6)計算因子得分

■兩者區別:主成分分析所著重的在于如何轉換原來變量使之成為一些綜合性的新指標。與主成分分析不同的是因子分析重視的是如何解釋變量之間的共同變異問題。

▲典型相關分析:研究兩組隨機變量之間的相關關系

應用:(1)解釋相互之間關系:如:y表示體重,x表示身高,年齡。身高,年齡對體重是否有影響?(2)預測與控制在1的基礎上,利用x變量預測或控制y變量。如在西方,股票市場情況不太好,則銀行降息,促進股市繁榮;若股票升得太厲害,銀行就會上調利息。一般地,控制應建立在很好的預測基礎上。(3)尋找結構聯系:通過線性函數解釋內部結構機理。

判別分析:當得到一個新樣品(或個體)的關于指標X的觀測值時,要判斷該樣品屬于哪一個類型,即為判別分析。

1.距離判別:通過定義樣品指標X的觀測值x(p維)到各總體的距離,以其大小判定樣品屬于哪個總體。

2.Bayes判別 :對給定的樣品x,計算兩總體的概率密度函數在x處的值。

3.Fisher判別:基本思想是投影,即把K類的m維數據投影(變換)到某個方向,使得變換后的數據,同類別的點“盡可能聚在一起”,不同類的點“盡可能分離”,以達到分類的目的。

回歸分析

回歸分析(預測):研究相關性關系的最基本、應用最廣泛的方法。就是在掌握大量觀察數據基礎上,利用數理統計方法建立因變量與自變量之間的回歸關系函數式。

1)  線性回歸分析,方法:最小二乘法。

2)  非線性回歸分析:拋物線模型、雙曲線模型、冪函數模型、指數函數模型、對數函數模型、邏輯曲線模型,多項式模型等。方法:非線性模型線性化,最小二乘法。

3)  二項邏輯回歸分析:因變量Y=0,1,可以用于分類決策。

4)基于隨機森林模型的回歸:真實情況自變量既可能包含因子(factor),也可能包含數值的連續性變量,又要考慮自變量對因變量的重要性程度,還可以對將來的情況進行預測。

隨機森林回歸在運維方面的例子

新增設備數影響因素及預測:時間、周幾、新版本發布、廣告宣傳、前一天的活躍設備數、當天的活躍設備數等等。

可以通過兩個指標判斷自變量對因變量的重要程度:

1)%IncMSE:均方誤差遞減意義下的重要性,若此指標值越大則說明此自變量對因變量的影響程度越大,若為0則說明此自變量對因變量沒有任何關系,若為負值則說明此自變量對因變量的變化可能有起到誤導的作用。

2)IncNodePurity:精確度遞減意義下的重要性。計算方法是殘差的平方和(非負),若此指標值越大則說明此自變量對因變量的影響程度越大,若為0則說明此自變量對因變量沒有任何關系。

17.jpg

新增設備數與其他因素影響的數據集范例

new_date  week new_ver advertising yestoday_act today_act new_device

636147 星期日       0           0          884       459         79

636148 星期一       0           0          459       701         45

636149 星期二       0         2.8          701       185         13

636150 星期三       0         3.6          185       112         12

636151 星期四       6         3.2          112       827         87

636152 星期五       8         2.8          827       892         32

636153 星期六       9           2          892       716         89

636154 星期日       8         0.8          716       204         98

636155 星期一       7           0          204       157         39

636156 星期二       5           0          157       484         72

636157 星期三       3           0          484       595         42

636158 星期四       1           0          595       592         70

636159 星期五       0           0          592        93         42

636160 星期六       2           0           93       451         89

636161 星期日       5           0          451       582         54

636162 星期一       4           0          582       140         97

636163 星期二       3           0          140       741         61

636164 星期三       1           0          741       809         30

636165 星期四       0           0          809       440         91

636166 星期五       0           0          440       108         65

636167 星期六       0           0          108       304         75

統計分析在運維方面的應用

18.jpg

數據挖掘其他方法在運維方面的應用

數據挖掘其他方法

19.jpg

▲遺傳算法:是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法。

一、編碼,不能直接處理問題空間的參數,必須把它們轉換成遺傳空間的由基因按一定結構組成的染色體或個體。這一轉換操作就叫做編碼,也可以稱作(問題的)表示。(C)

二、適應度函數:進化論中的適應度,是表示某一個體對環境的適應能力,也表示該個體繁殖后代的能力。遺傳算法的適應度函數也叫評價函數,是用來判斷群體中的個體的優劣程度的指標,它是根據所求問題的目標函數來進行評估的。(E)

條件:1.單值、連續、非負、最大化;2.合理、一致性;3.計算量??;4.通用性強。

三、基本運算過程如下:簡單遺傳算法:SGA=(C,E,P(0),N,F,G,Y,T)

1.初始化:設置進化代數計數器t=0,設置最大進化代數T,隨機生成N個個體作為初始群體P(0)。(P(0),N)

2.個體評價:計算群體P(t)中各個個體的適應度。

3.選擇運算(F):將選擇算子作用于群體。目的是把優化的個體直接遺傳到下一代或通過配對交叉產生新的個體再遺傳到下一代。選擇操作是建立在群體中個體的適應度評估基礎上的

4.交叉運算(G);將交叉算子作用于群體。所謂交叉是指把兩個父代個體的部分結構加以替換重組而生成新個體的操作。遺傳算法中起核心作用的就是交叉算子。

4.變異運算(Y):將變異算子作用于群體。即是對群體中的個體串的某些基因座上的基因值作變動。

■群體P(t)經過選擇、交叉、變異運算之后得到下一代群體P(t+1)。

5.終止條件判斷(T):若t=T,則以進化過程中所得到的具有最大適應度個體作為最優解輸出,終止計算。

▲粗糙集理論:已成為人工智能領域中一個較新的學術熱點, 在機器學習,知識獲取,決策分析,過程控制等許多領域得到了廣泛的應用.

▲模糊集方法:就是指具有某個模糊概念所描述的屬性的對象的全體。由于概念本身不是清晰的、界限分明的,因而對象對集合的隸屬關系也不是明確的、非此即彼的。設A是集合X到[0,1]的一個映射,A:X→[0,1],x→A(x) 則稱A是X上的模糊集,A(x)稱為模糊集A的隸屬函數,或稱A(x)為x對模糊集A的隸屬度。

流數據挖掘:一組順序、大量、快速、連續到達的數據序列,一般情況下,數據流可被視為一個隨時間延續而無限增長的動態數據集合。

圖挖掘:用于挖掘大型圖數據集的頻繁圖模式,進行特征化、區分、分類和聚類分析。應用于化學信息學,生物信息學,計算機視覺,視頻索引,文本檢索,Web分析等。

復雜數據類型的挖掘,包括對象數據,空間數據,多媒體數據,時序數據,文本數據和Web 數據??臻g數據挖掘是指從大數據量的地理空間數據庫中發現有意義的模式;多媒體數據挖掘是指從多媒體數據庫中發現有意義的模式;文本數據是指從文本數據中抽取有價值的信息和知識的計算機處理技術,文本數據挖掘是從文本中進行數據挖掘;Web 挖掘是指從大量的Web文檔集合中發現蘊涵的、未知的、有潛在應用價值的、非平凡的模式,它所處理的對象包括靜態網頁、Web數據庫、Web結構、用戶使用記錄等信息。

在運維方面的應用

20.jpg

作者:陳是維,現任職優云軟件(秉承devops的理念,從監控、到應用體驗,到自動化持續交付,全棧運維解決方案服務商:https://uyun.cn

原創文章,作者:uyunops,如若轉載,請注明出處:http://www.www58058.com/24203

(0)
uyunopsuyunops
上一篇 2016-07-16
下一篇 2016-07-16

相關推薦

  • Hadoop簡介

    Hadoop的概要介紹 Hadoop,是一個分布式系統基礎架構,由Apache基金會開發。用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力高速運算和存儲。 簡單地說來,Hadoop是一個可以更容易開發和運行處理大規模數據的軟件平臺。該平臺使用的是面向對象編程語言Java實現的,具有良好的可移植性。 Hadoop的發展歷史 &nbsp…

    Linux干貨 2015-04-13
  • Nginx代理MogileFS并實現負載均衡和高可用

    Nginx代理MogileFS并實現負載均衡和高可用 MogileFS nginx 負載均衡 前言 實驗拓撲 實驗環境 實驗步驟 配置MogileFS 配置Nginx 總結 前言 上篇文章我們了解分布式系統和MogileFS的基本使用, 但是那樣的架構是有問題的, 本篇文章我們來了解一下如何使用nginx-mogilefs-module-…

    大數據運維 2016-05-05
  • 使用Storm實現實時大數據分析

    摘要:隨著數據體積的越來越大,實時處理成為了許多機構需要面對的首要挑戰。Shruthi Kumar和Siddharth Patankar在Dr.Dobb’s上結合了汽車超速監視,為我們演示了使用Storm進行實時大數據分析。CSDN在此編譯、整理。 簡單和明了,Storm讓大數據分析變得輕松加愉快。 當今世界,公司的日常運營經常會生成TB級別的數據。數據來源…

    Linux干貨 2015-04-04
  • Hadoop實戰實例

     Hadoop 是Google MapReduce的一個Java實現。MapReduce是一種簡化的分布式編程模式,讓程序自動分布到一個由普通機器組成的超大集群上并發執行。就如同java程序員可以不考慮內存泄露一樣, MapReduce的run-time系統會解決輸入數據的分布細節,跨越機器集群的程序執行調度,處理機器…

    Linux干貨 2015-04-13
  • 谷歌三大核心技術(二)Google MapReduce中文版

    摘要 MapReduce是一個編程模型,也是一個處理和生成超大數據集的算法模型的相關實現。用戶首先創建一個Map函數處理一個基于key/value pair的數據集合,輸出中間的基于key/value pair的數據集合;然后再創建一個Reduce函數用來合并所有的具有相同中間key值的中間value值?,F實世界中有很多滿足上述處理模型的例子,本論文將詳細描…

    Linux干貨 2015-04-13
  • hadoop安全模式

    hadoop安全模式在分布式文件系統啟動的時候,開始的時候會有安全模式,當分布式文件系統處于安全模式的情況下,文件系統中的內容不允許修改也不允許刪除,直到安全模式結束。安全模式主要是為了系統啟動的時候檢查各個DataNode上數據塊的有效性,同時根據策略必要的復制或者刪除部分數據塊。運行期通過命令也可以進入安全模式。在實踐過程中,系統啟動的時候去修改和刪除文…

    Linux干貨 2015-04-13
欧美性久久久久