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