一個優秀的數據分析師不僅要掌握基本的統計、數據庫、數據分析方法、思維、數據分析工具和技能,還要掌握一些的思路,幫助我們挖掘出有價值的數據,這也是數據分析專家和一般數據分析師的差距之一。
數據挖掘主要分為三類:分類算法、聚類算法和相關規則,基本涵蓋了當前商業市場對算法的所有需求。這三類包含了許多經典算法。市面上很多關于數據挖掘算法的介紹都是深奧難懂的。今天我就用我的理解給大家介紹一下數據挖掘十大經典算法的原理,幫助大家快速理解。
數據挖掘算法分類
1、連接分析:PageRank。
2、相關分析:Apriori。
3、分類算法:C4.5,簡單的貝葉斯,SVM,KNN,Adaboost,CART。
4、聚類算法:K-Means,EM。
一、PageRank
論文被引用的次數越多,其影響就越大。
網頁入口越多,入鍊質量越高,網頁質量越高。
PageRank原理
網頁的影響=阻尼影響+所有入鍊集合頁面的加權影響之和。
一個網頁的影響:所有進入鍊的頁面的加權影響之和。
一個網頁對其他網頁的影響是:自身影響/鍊接數量。
并非所有用戶都是通過跳轉鍊接來上網的,還有其他方式,比如直接輸入網站訪問。
因此需要設置阻尼因子,代表用戶根據跳轉鍊接上網的概率。
PageRank比喻說明
1、微博
一個人的微博粉絲數量不一定等于他的實際影響力,還要看粉絲的質量。
如果是僵屍粉沒用,但是如果是很多大V或者明星關注的話,影響力很大。
2、店鋪經營
顧客較多的店鋪質量較好,但要看顧客是否是托。
3、興趣
對感興趣的人或事投入相對較多的時間,對其相關的人和事也投入一定的時間。被關注的人或事越多,其影響力/受衆就越大。
關于阻尼因子
1、通過鄰居的影響來判斷你的影響,但是如果你不能通過鄰居來訪問你,并不意味着你沒有影響力,因為可以直接訪問你,所以引入了阻尼因子的概念。
2、海洋除了河流流經外,還有雨水,但下雨是随機的。
3、提出阻尼系數,或者解決一些網站顯然有大量的鍊(鍊),但影響很大。
出鍊例子:hao123導航網頁,出鍊多,入鍊少。
入鍊例子:百度谷歌等搜索引擎,入鍊很多,出鍊很少。
二、Apriori(相關分析)
關聯挖掘關系,從消費者交易記錄中發現商品之間的關系。
Apriori原理
1、支持度
商品組合出現的次數與總次數之比。
五次購買,四次購買牛奶,牛奶支持度為4/5=0.8。
五次購買,三次購買牛奶+面包,牛奶+面包支持3/5=0.6。
2、置信度
購買商品A,購買商品B的概率有多大,發生A時發生B的概率有多大。
買了四次牛奶,其中兩次買了啤酒,(牛奶->啤酒)的可信度是2/4=0.5。
三次買啤酒,其中兩次買牛奶,(啤酒->牛奶)的可信度為2/3-0.67。
3、提升度
衡量商品A的出現,提高商品B出現概率的程度。
提升度(A->B)=置信度(A->B)/支持度(B)。
提升度>1,有提升;提升度=1,無變化;提升度1,下降。
4、項集頻繁
項集:可以是單一商品,也可以是商品組合。
頻繁的項集是支持度大于最小支持度的項集(MinSupport)。
計算過程
(1)從K=1開始,經常篩選項集。
(2)在結果中,組合K+1項集,重新篩選。
(3)循環1,2步。K-1項集的結果是最終結果,直到找不到結果。
擴展:FP-Growth算法。
Apriori算法需要多次掃描數據庫,性能低,不适合大數據量。
FP-growth算法,通過構建FP樹的數據結構,将數據存儲在FP樹中,隻需在構建FP樹時掃描數據庫兩次,後續處理就不需要再訪問數據庫。
比喻:啤酒和紙尿褲一起賣。
沃爾瑪通過數據分析發現,在美國有嬰兒的家庭中,母親通常在家照顧孩子,父親去超市買尿布。
父親在買紙尿褲的時候,經常會搭配幾瓶啤酒來獎勵自己。因此,超市試圖推出一種将啤酒和紙尿褲放在一起的促銷手段,這實際上大大增加了紙尿褲和啤酒的銷量。
三、數據挖掘算法:AdaBoost
AdaBoost原理
簡單來說,多個弱分類器訓練成強分類器。
将一系列弱分類器作為不同權重比組合的最終分類選擇。
計算過程
1、基本權重初始化。
2、獎勵權重矩陣,通過現有的分類器計算錯誤率,選擇錯誤率最低的分類器。
3、通過分類器權重公式,減少正确的樣本分布,增加錯誤的樣本分布,獲得新的權重矩陣和當前k輪的分類器權重。
4、将新的權重矩陣帶入上述步驟2和3,重新計算權重矩陣。
5、叠代N輪,記錄每輪最終分類器的權重,獲得強分類器。
AdaBoost算法比喻說明
1、利用錯題提高學習效率
做對的題,下次少做點,反正都會。
下次多做錯題,集中在錯題上。
随着學習的深入,錯題會越來越少。
2、合理跨境提高利潤
蘋果公司,軟硬件結合,占據了手機市場的大部分利潤,兩個領域的知識結合産生了新的收益。
四、數據挖掘算法:C4.5(決策樹)
決策就是對一個問題有多個答案,選擇答案的過程就是決策。
C4.5算法用于産生決策樹,主要用于分類。
C4.5計算信息增益率(ID3算法計算信息增益)。
C4.5算法原理
C4.5算法選擇最有效的方法對樣本集進行分裂,分裂規則是分析所有屬性的信息增益率。
信息增益率越大,意味着這個特征分類的能力越強,我們應該優先選擇這個特征進行分類。
比喻說明:挑西瓜。
拿到一個西瓜,先判斷它的線條。如果很模糊,就覺得不是好瓜。如果很清楚,就覺得是好瓜。如果稍微模糊一點,就考慮它的密度。如果密度大于一定值,就認為是好瓜,否則就是壞瓜。
五、數據挖掘算法:CART(決策樹)
CART:Clasification And Regresion Tree,中文叫分類回歸樹,可以分類也可以回歸。
什麼是分類樹?回歸樹?
分類樹:處理離散數據,即數據類型有限的數據,輸出樣本類别。
回歸樹:可以預測連續值,輸出一個值,值可以在一定範圍内獲得。
回歸問題和分類問題的本質是一樣的,就是對一個輸入做一個輸出預測,其區别在于輸出變量的類型。
CART算法原理
CART分類樹
類似于C4.5算法,但屬性選擇的指标是基尼系數。
基尼系數反映了樣本的不确定性。基尼系數越小,樣本之間的差異越小,不确定性越低。
分類是一個降低不确定性的過程。CART在構建分類樹時,會選擇基尼系數最小的屬性作為屬性劃分。
回歸樹的CART
以均方誤差或絕對值誤差為标準,選擇均方誤差或絕對值誤差最小的特征。
分類和回歸數的比喻說明
分類:預測明天是陰、晴還是雨。
回歸:預測明天的溫度。
六、數據挖掘算法:簡單貝葉斯(條件概率)
簡單貝葉斯是一種簡單有效的常用分類算法,在未知物體出現的情況下,計算各類出現的概率,取概率最大的分類。
算法原理
假設輸入的不同特征是獨立的,基于概率論原理,通過先驗概率P(A)、P(B)和條件概率計算出P(A|B)。
P(A):先驗概率,即在B事件發生前判斷A事件概率。
P(B|A):條件概率,事件B在另一個事件A已經發生的條件下發生的概率。
P(A|B):後驗概率,即B事件發生後重新評估A事件概率。
比喻說明:對患者進行分類
給定一個新病人,一個打噴嚏的建築工人,計算他感冒的概率。
七、數據挖掘算法:SVM
SVM:SupportVectorMachine,中文名為支持向量機,是一種常見的分類方法,最初是為二分類問題設計的,在機器學習中,SVM是一種有監督的學習模式。
什麼是監督學習和無監督學習?
監督學習:即在現有類别标簽的情況下,對樣本數據進行分類。
無監督學習:即在沒有類别标簽的情況下,樣本數據按照一定的方法進行分類,即聚類。分類好的類别需要進一步分析,才能知道每個類别的特點。
SVM算法原理
找到間隔最小的樣本點,然後拟合到這些樣本點的距離和最大的線段/平面。
硬間隔:數據線性分布,直接給出分類。
軟間隔:允許一定量的樣本分類錯誤。
核函數:非線性分布的數據映射為線性分布的數據。
SVM算法比喻說明
1、分隔桌上的一堆紅球和籃球。
桌上的紅球和藍球用一根線分成兩部分。
2、分隔盒子裡的一堆紅球和籃球。
盒子裡的紅球和藍球用平面分成兩部分。
八、數據挖掘算法:KNN(聚類)
機器學習算法中最基本、最簡單的算法之一,可以通過測量不同特征值之間的距離來分類。
KNN算法原理
計算待分類物體與其他物體之間的距離,預測K最近鄰居數量最多的類别是該分類物體的類别。
計算步驟。
1.根據場景選擇距離計算方法,計算待分類物體與其他物體之間的距離。
2.統計最近的K鄰居。
3.對于K最近的鄰居,最多的類别被預測為分類對象的類别。
KNN算法比喻:近朱者赤,近墨者黑。
九、數據挖掘算法:K-Means(聚類)
K-means是一種無監督學習、生成指定K類的聚類算法,将每個對象分配到最近的聚類中心。
K-Means算法原理
1.随機選擇K點作為分類中心點。
2.将每個點分配到最近的類,從而形成K類。
3.重新計算每個類别的中心點。比如同一類别有10個點,那麼新的中心點就是這10個點的中心點,一個簡單的方法就是取平均值。
K-Means算法比喻說明
1、選組長
每個人都随機選擇K個組長,誰離得近,就是那個隊列的人(計算距離,近的人聚在一起)。
随着時間的推移,組長的位置在變化(根據算法重新計算中心點),直到選擇真正的中心組長(重複,直到準确率最高)。
2、Kmeans和Knn的區别
Kmeans開班選組長,風水輪流轉,直到選出最佳中心組長。
Knn小弟加隊,離那個班比較近,就是那個班。
十、數據挖掘算法:EM(聚類)
EM的英語是ExpectationMaximization,因此EM算法又稱最大期望算法,也是一種聚類算法。
EM和K-Means的區别:
EM是計算概率,KMeans是計算距離。
EM屬于軟聚類,同一樣本可能屬于多個類别;K-Means屬于硬聚類,一個樣本隻能屬于一個類别。因此,前者可以發現一些隐藏的數據。
EM算法原理
先估計一個大概率的可能參數,然後根據數據不斷調整,直到找到最終确認參數。
EM算法比喻說明:菜稱重
很少有人用稱重菜肴,然後計算一半的重量來平分。
大多數人的方法是:
1、先把一部分分成菜A,然後把剩下的分成菜B。
2、觀察菜A和B裡的菜是否一樣多,哪個多就勻一點到少。
3、然後觀察碟子裡的A和B是否一樣多,重複,直到重量沒有變化。
其中,數據挖掘之後就需要把收集的有用的數據進行可視化處理方便人們直觀感受數據的變化和重要性,通常數據分析師都會選擇一些可視化輔助工具幫助自己更好的完成數據分析工作,比如基礎的可視化工具有Excel、PPT和Xmind,但是對于企業來說,這些可視化工具提供的功能都太單一了,不能很好的滿足可視化效果,很多數據分析師會選擇Smartbi這款可視化工具,集齊數據挖掘、數據分析、數據可視化功能于一體的數據可視化工具,有着更方便的拖拉拽操作,能處理億級的數據量,還有着可視化效果更好的自助儀表盤,能更好的滿足現代企業報表需求。
到這裡十大算法已經簡單介紹完成了。事實上,一般來說,常用算法已經被封裝到倉庫中,隻要new生成相應的模型。數據分析師不僅要學會怎麼收集有用的數據,也要對數據進行深度分析做出對企業更有利的決策,選擇可視化工具Smartbi能有效的提升數據分析師的生産力。這些是一些結合個人經驗和網上資料的心得體會,希望能對你學習數據挖掘有幫助。
有話要說...