新手一看就秒懂的數據挖掘的10大算法

一個優秀的數據分析師,除了要掌握基本的統計學、數據庫、數據分析方法、思惟、數據分析工具技能以外,還須要掌握一些數據挖掘的思想,幫助咱們挖掘出有價值的數據,這也是數據分析專家和通常數據分析師的差距之一。算法

數據挖掘主要分爲分類算法,聚類算法和關聯規則三大類,這三類基本上涵蓋了目前商業市場對算法的全部需求。而這三類裏又包含許多經典算法。市面上不少關於數據挖掘算法的介紹深奧難懂,今天就給你們用簡單的大白話來介紹數據挖掘十大經典算法原理,幫助你們快速理解。數據庫

算法分類數據結構

鏈接分析:PageRank機器學習

關聯分析:Apriori函數

分類算法:C4.5,樸素貝葉斯,SVM,KNN,Adaboost,CART工具

聚類算法:K-Means,EM性能

 1、PageRank
當一篇論文被引用的次數越多,證實這篇論文的影響力越大。學習

一個網頁的入口越多,入鏈越優質,網頁的質量越高。大數據

原理網站

網頁影響力=阻尼影響力+全部入鏈集合頁面的加權影響力之和

一個網頁的影響力:全部入鏈的頁面的加權影響力之和。
一個網頁對其餘網頁的影響力貢獻爲:自身影響力/出鏈數量。
用戶並不都是按照跳轉連接的方式來上網,還有其餘的方式,好比直接輸入網址訪問。
因此須要設定阻尼因子,表明了用戶按照跳轉連接來上網的機率。
比喻說明

一、微博

一我的的微博粉絲數不必定等於他的實際影響力,還須要看粉絲的質量如何。

若是是殭屍粉沒什麼用,但若是是不少大V或者明星關注,影響力很高。

二、店鋪的經營

顧客比較多的店鋪質量比較好,可是要看看顧客是否是託。

三、興趣

在感興趣的人或事身上投入了相對多的時間,對其相關的人事物也會投入必定的時間。那我的或事,被關注的越多,它的影響力/受衆也就越大。

關於阻尼因子

一、經過你的鄰居的影響力來評判你的影響力,可是若是不能經過鄰居來訪問你,並不表明你沒有影響力,由於能夠直接訪問你,因此引入阻尼因子的概念。

二、海洋除了有河流流經,還有雨水,可是下雨是隨機的。

三、提出阻尼係數,仍是爲了解決某些網站明明存在大量出鏈(入鏈),可是影響力卻很是大的情形。

出鏈例子:hao123導航網頁,出鏈極多入鏈極少。
入鏈例子:百度谷歌等搜索引擎,入鏈極多出鏈極少。

2、Apriori(關聯分析)

關聯關係挖掘,從消費者交易記錄中發掘商品與商品之間的關聯關係。

原理

1.支持度

某個商品組合出現的次數與總次數之間的比例。

5次購買,4次買了牛奶,牛奶的支持度爲4/5=0.8。

5次購買,3次買了牛奶+麪包,牛奶+麪包的支持度爲3/5=0.6。

2.置信度

購買了商品A,有多大機率購買商品B,A發生的狀況下B發生的機率是多少。

買了4次牛奶,其中2次買了啤酒,(牛奶->啤酒)的置信度爲2/4=0.5。

買了3次啤酒,其中2次買了牛奶,(啤酒->牛奶)的置信度爲2/3-0.67。

3.提高度

衡量商品A的出現,對商品B的出現 機率提高的程度。

提高度(A->B)=置信度(A->B)/支持度(B)。

提高度>1,有提高;提高度=1,無變化;提高度<1,降低。

4.頻繁項集

項集:能夠是單個商品,也能夠是商品組合。

頻繁項集是支持度大於最小支持度(Min Support)的項集。

計算過程

一、從K=1開始,篩選頻繁項集。

二、在結果中,組合K+1項集,再次篩選。

三、循環1,2步。直到找不到結果爲止,K-1項集的結果就是最終結果。

擴展:FP-Growth 算法

Apriori 算法須要屢次掃描數據庫,性能低下,不適合大數據量。

FP-growth算法,經過構建 FP 樹的數據結構,將數據存儲在 FP 樹中,只須要在構建 FP 樹時掃描數據庫兩次,後續處理就不須要再訪問數據庫了。

比喻說明:啤酒和尿不溼擺在一塊兒銷售

沃爾瑪經過數據分析發現,美國有嬰兒的家庭中,通常是母親在家照顧孩子,父親去超市買尿不溼。

父親在購買尿不溼時,經常會順便搭配幾瓶啤酒來犒勞本身,因而,超市嘗試推出了將啤酒和尿不溼擺在一塊兒的促銷手段,這個舉措竟然使尿不溼和啤酒的銷量都大幅增長。

3、AdaBoost

原理

簡單的說,多個弱分類器訓練成爲一個強分類器。

將一系列的弱分類器以不一樣的權重比組合做爲最終分類選擇。

計算過程

一、初始化基礎權重。

二、獎權重矩陣,經過已的分類器計算錯誤率,選擇錯誤率最低的爲最優分類器。

三、經過分類器權重公式,減小正確樣本分佈,增長錯誤樣本分佈,獲得新的權重矩陣和當前k輪的分類器權重。

四、將新的權重矩陣,帶入上面的步驟2和3,從新計算權重矩陣。

五、迭代N輪,記錄每一輪的最終分類器權重,獲得強分類器。

比喻說明

一、利用錯題提高學習效率

作正確的題,下次少作點,反正都會了。

作錯的題,下次多作點,集中在錯題上。

隨着學習的深刻,作錯的題會愈來愈少。

二、合理跨界提升盈利

蘋果公司,軟硬結合,佔據了大部分的手機市場利潤,兩個領域的知識結合起來產生新收益。

4、C4.5(決策樹)

決策就是對於一個問題,有多個答案,選擇答案的過程就是決策。

C4.5算法是用於產生決策樹的算法,主要用於分類。

C4.5使用信息增益率作計算(ID3算法使用信息增益作計算)。

原理

C4.5選擇最有效的方式對樣本集進行分裂,分裂規則是分析全部屬性的信息增益率。

信息增益率越大,意味着這個特徵分類的能力越強,咱們就要優先選擇這個特徵作分類。

比喻說明:挑西瓜。

拿到一個西瓜,先判斷它的紋路,若是很模糊,就認爲這不是好瓜,若是它清晰,就認爲它是一個好瓜,若是它稍稍模糊,就考慮它的密度,密度大於某個值,就認爲它是好瓜,不然就是壞瓜。

 5、CART(決策樹)

CART:Classification And Regression Tree,中文叫分類迴歸樹,便可以作分類也能夠作迴歸。

什麼是分類樹、迴歸樹?

分類樹:處理離散數據,也就是數據種類有限的數據,輸出的是樣本的類別 。

迴歸樹:能夠對連續型的數值進行預測,輸出的是一個數值,數值在某個區間內都有取值的可能。

迴歸問題和分類問題的本質同樣,都是針對一個輸入作出一個輸出預測,其區別在於輸出變量的類型。

原理

CART分類樹

與C4.5算法相似,只是屬性選擇的指標是基尼係數。

基尼係數反應了樣本的不肯定度,基尼係數越小,說明樣本之間的差別性小,不肯定程度低。

分類是一個不肯定度下降的過程,CART在構造分類樹的時候會選擇基尼係數最小的屬性做爲屬性的劃分。

CART 迴歸樹

採用均方偏差或絕對值偏差爲標準,選取均方偏差或絕對值偏差最小的特徵。

比喻說明

分類:預測明天是陰、晴仍是雨。

迴歸:預測明天的氣溫是多少度。

 6、樸素貝葉斯(條件機率)

樸素貝葉斯是一種簡單有效的經常使用分類算法,計算未知物體出現的條件下各個類別出現的機率,取機率最大的分類。

原理

假設輸入的不一樣特徵之間是獨立的,基於機率論原理,經過先驗機率P(A)、P(B)和條件機率推算出後機率出P(A|B)。

P(A):先驗機率,即在B事件發生以前,對A事件機率的一個判斷。

P(B|A):條件機率,事件 B 在另一個事件 A 已經發生條件下的發生機率。

P(A|B):後驗機率,即在B事件發生以後,對A事件機率的從新評估。

比喻說明:給病人分類。

給定一個新病人,是一個打噴嚏的建築工人,計算他患感冒的機率。

7、SVM

SVM:Support Vector Machine,中文名爲支持向量機,是常見的一種分類方法,最初是爲二分類問題設計的,在機器學習中,SVM 是有監督的學習模型。

什麼是有監督學習和無監督學習 ?

有監督學習:即在已有類別標籤的狀況下,將樣本數據進行分類。

無監督學習:即在無類別標籤的狀況下,樣本數據根據必定的方法進行分類,即聚類,分類好的類別須要進一步分析後,從而得知每一個類別的特色。

原理

找到具備最小間隔的樣本點,而後擬合出一個到這些樣本點距離和最大的線段/平面。

硬間隔:數據是線性分佈的狀況,直接給出分類。

軟間隔:容許必定量的樣本分類錯誤。

核函數:非線性分佈的數據映射爲線性分佈的數據。

比喻說明

1.分隔桌上一堆紅球和籃球

用一根線將桌上的紅球和藍球分紅兩部分。

2.分隔箱子裏一堆紅球和籃球

用一個平面將箱子裏的紅球和藍球分紅兩部分。

8、KNN(聚類)

機器學習算法中最基礎、最簡單的算法之一,既能分類也能迴歸,經過測量不一樣特徵值之間的距離來進行分類。

原理

計算待分類物體與其餘物體之間的距離,對於K個最近的鄰居,所佔數量最多的類別,預測爲該分類對象的類別。

計算步驟

一、根據場景,選取距離計算方式,計算待分類物體與其餘物體之間的距離。

二、統計距離最近的K個鄰居。

三、對於K個最近的鄰居,所佔數量最多的類別,預測爲該分類對象的類別。

比喻說明:近朱者赤,近墨者黑。

 9、K-Means(聚類)

K-means是一個聚類算法,是無監督學習,生成指定K個類,把每一個對象分配給距離最近的聚類中心。

原理

1.隨機選取K個點爲分類中心點。

2.將每一個點分配到最近的類,這樣造成了K個類。

3.從新計算每一個類的中心點。好比都屬於同一個類別裏面有10個點,那麼新的中心點就是這10個點的中心點,一種簡單的方式就是取平均值。

比喻說明

1.選老大

你們隨機選K個老大,誰離得近,就是那個隊列的人(計算距離,距離近的人聚合在一塊兒)。

隨着時間的推移,老大的位置在變化(根據算法,從新計算中心點),直到選出真正的中心老大(重複,直到準確率最高)。

2.Kmeans和Knn的區別

Kmeans開班選老大,風水輪流轉,直到選出最佳中心老大。

Knn小弟加隊伍,離那個班相對近,就是那個班的。

10、EM(聚類)

EM 的英文是 Expectation Maximization,因此 EM 算法也叫最大指望算法,也是聚類算法的一種。

EM和K-Means的區別:

EM是計算機率,KMeans是計算距離。
EM屬於軟聚類,同同樣本可能屬於多個類別;而K-Means屬於硬聚類,一個樣本只能屬於一個類別。因此前者可以發現一些隱藏的數據。
原理

先估計一個大機率的可能參數,而後再根據數據不斷地進行調整,直到找到最終的確認參數。

比喻說明:菜稱重。

不多有人用稱對菜進行稱重,再計算一半的份量進行平分。

大部分人的方法是:

一、先分一部分到碟子 A 中,再把剩餘的分到碟子 B 中。

二、觀察碟子 A 和 B 裏的菜是否同樣多,哪一個多就勻一些到少的那個碟子裏。

三、而後再觀察碟子 A 和 B 裏的是否同樣多,重複下去,直到分量不發生變化爲止。

10大算法都已經說完了,其實通常來講,經常使用算法都已經被封裝到庫中了,只要new出相應的模型便可。

相關文章
相關標籤/搜索