一個優秀的數據分析師不僅要掌握基本的統計、數據庫、數據分析方法、思維、數據分析工具和技能 , 還要掌握一些數據挖掘的思路 , 幫助我們挖掘出有價值的數據 , 這也是數據分析專家和一般數據分析師的差距之一 。

文章插圖
數據挖掘主要分為三類:分類算法、聚類算法和相關規則 , 基本涵蓋了當前商業市場對算法的所有需求 。這三類包含了許多經典算法 。市面上很多關于數據挖掘算法的介紹都是深奧難懂的 。今天我就用我的理解給大家介紹一下數據挖掘十大經典算法的原理 , 幫助大家快速理解 。
數據挖掘算法分類
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能有效的提升數據分析師的生產力 。這些是一些結合個人經驗和網上資料的心得體會 , 希望能對你學習數據挖掘有幫助 。
推薦閱讀
- 輕松看懂數據挖掘中的十大經典算法 數據挖掘算法有哪些
- 一文掌握鉆石分布位置圖 迷你世界鉆石在第幾層最多
- 一文看懂集合競價實用交易技巧 集合競價的規則與技巧
- 中醫的八綱辨證指的是什么 中醫的八綱辨證是什么
- 一文會教你超五類網線的接法 網線接線圖示意圖大全
- 一文教你設置鬧鐘鈴聲的方法 華為手機鬧鐘在哪里找
- 一文詳解mac辦公必要性 蘋果筆記本電腦辦公好用嗎
- 一文了解送長命鎖的禁忌 長命鎖一般由什么人送
- 一文教你認識各種ctrl快捷鍵 快捷鍵全選按哪個鍵設置
- 初一文言文大全及翻譯人教版 初一文言文及翻譯完整版
