0 前言
資料分析的最關鍵部分是資料探勘,啥是資料探勘?
- 普通人很難感知大海,更別說尋寶
- 但對石油開採人員,大海有座標。他們對地質勘探,分析地質構造,發現哪些地方可能有石油。然後用開採工具,深度挖掘,直到打到石油。大海、地質資訊、石油對開採人員就是資料來源、地理位置及分析結果。
而資料探勘工作,就像鑽井,透過分析這些資料,從龐大的資料中發現規律來尋寶。只有對知識有全面認知,才能確保在以後工作即使遇到問題,也可快速定位問題,然後找方法對應和解決。
1 基本流程
- 商業理解:資料探勘不是我們的目的,我們的目的是更好地幫助業務,所以第一步我們要從商業的角度理解專案需求,在這個基礎上,再對資料探勘的目標進行定義。
- 資料理解:嘗試收集部分資料,然後對資料進行探索,包括資料描述、資料質量驗證等。這有助於你對收集的資料有個初步的認知。
- 資料準備:開始收集資料,並對資料進行清洗、資料整合等操作,完成資料探勘前準備
- 模型建立:選擇和應用各種資料探勘模型,並進行最佳化,以便得到更好的分類結果。
- 模型評估:對模型進行評價,並檢查構建模型的每個步驟,確認模型是否實現了預定的商業目標。
- 上線釋出:模型的作用是從資料中找到金礦,也就是我們所說的“知識”,獲得的知識需要轉化成使用者可以使用的方式,呈現的形式可以是一份報告,也可以是實現一個比較複雜的、可重複的資料探勘過程。資料探勘結果如果是日常運營的一部分,那麼後續的監控和維護就會變得重要。
2 經典演算法
資料科學家提出各種模型,國際權威的學術組織 ICDM (the IEEE International Conference on Data Mining)評選十大經典演算法。按目的分類:
- 分類演算法:C4.5,樸素貝葉斯(Naive Bayes),SVM,KNN,Adaboost,CART
- 聚類演算法:K-Means,EM
- 關聯分析:Apriori
- 連線分析:PageRank
C4.5
決策樹演算法,它創造性地在決策樹構造過程中就剪枝,並可處理連續的屬性,也能對不完整的資料進行處理。
樸素貝葉斯(Naive Bayes)
基於機率論的原理,核心思想:對於給出的未知物體想要進行分類,就需要求解在這個未知物體出現的條件下各個類別出現的機率,哪個最大,就認為這個未知物體屬於哪個分類。
SVM
Support Vector Machine,支援向量機。SVM 在訓練中建立了一個超平面的分類模型。
KNN
K-Nearest Neighbor,K最近鄰演算法。每個樣本都可以用它最接近的 K 個鄰居來代表。如果一個樣本,它的 K 個最接近的鄰居都屬於分類 A,那麼這個樣本也屬於分類 A。
AdaBoost
在訓練中建立了一個聯合的分類模型。boost 在英文中代表提升的意思,所以 Adaboost 是個構建分類器的提升演算法。它可以讓我們多個弱的分類器組成一個強的分類器,所以 Adaboost 也是一個常用的分類演算法。
CART
Classification and Regression Trees,代表分類和迴歸樹 。它構建了兩棵樹:一棵是分類樹,另一個是迴歸樹。和 C4.5 一樣,決策樹學習方法。
Apriori
一種挖掘關聯規則(association rules)的演算法,它透過挖掘頻繁項集(frequent item sets)來揭示物品之間的關聯關係,被廣泛應用到商業挖掘和網路安全等領域中。頻繁項集是指經常出現在一起的物品的集合,關聯規則暗示著兩種物品之間可能存在很強的關係。
K-Means
聚類演算法。你可以這麼理解,最終我想把物體劃分成 K 類。假設每個類別裡面,都有個“中心點”,即意見領袖,它是這個類別的核心。現在我有一個新點要歸類,這時候就只要計算這個新點與 K 箇中心點的距離,距離哪個中心點近,就變成了哪個類別。
EM
EM 演算法也叫最大期望演算法,是求引數的最大似然估計的一種方法。原理是這樣的:假設我們想要評估引數 A 和引數 B,在開始狀態下二者都是未知的,並且知道了 A 的資訊就可以得到 B 的資訊,反過來知道了 B 也就得到了 A。可以考慮首先賦予 A 某個初值,以此得到 B 的估值,然後從 B 的估值出發,重新估計 A 的取值,這個過程一直持續到收斂為止。
EM 演算法經常用於聚類和機器學習領域中。
PageRank
PageRank 起源於論文影響力的計算方式,如果一篇文論被引入的次數越多,就代表這篇論文的影響力越強。同樣 PageRank 被 Google 創造性地應用到了網頁權重的計算中:當一個頁面鏈出的頁面越多,說明這個頁面的“參考文獻”越多,當這個頁面被鏈入的頻率越高,說明這個頁面被引用的次數越高。基此,可得網站的權重劃分。
演算法是資料探勘的靈魂,也是最精華部分。其他演算法也基本上都是在這些基礎上進行改進和創新。
3 數學原理
- 不瞭解機率論和數理統計,還是很難掌握演算法本質
- 不懂線性代數,就難理解矩陣和向量運作在資料探勘的價值
- 沒有最最佳化方法的概念,就對迭代收斂理解不深
想更深刻理解資料探勘的方法,就有必要了解它後背數學原理。
1. 機率論與數理統計
大學教的偏機率,統計部分較少。在資料探勘裡使用到機率論的地方就比較多。如條件機率、獨立性的概念,以及隨機變數、多維隨機變數的概念。
很多演算法的本質都與機率論相關,所以說機率論與數理統計是資料探勘的重要數學基礎。
2. 線性代數
向量和矩陣是線性代數中的重要知識點,它被廣泛應用到資料探勘中,比如我們經常會把物件抽象為矩陣的表示,一幅影像就可以抽象出來是一個矩陣,我們也經常計算特徵值和特徵向量,用特徵向量來近似代表物體的特徵。這個是大資料降維的基本思路。
基於矩陣的各種運算,以及基於矩陣的理論成熟,可以幫我們解決很多實際問題,比如 PCA 方法、SVD 方法,以及 MF、NMF 方法等在資料探勘中都有廣泛的應用。
3. 圖論
社交網路的興起,讓圖論的應用也越來越廣。人與人的關係,可以用圖論上的兩個節點來進行連線,節點的度可以理解為一個人的朋友數。我們都聽說過人脈的六度理論,在 Facebook 上被證明平均一個人與另一個人的連線,只需要 3.57 個人。當然圖論對於網路結構的分析非常有效,同時圖論也在關係挖掘和影像分割中有重要的作用。
4. 最最佳化方法
最最佳化方法相當於機器學習中自我學習的過程,當機器知道了目標,訓練後與結果存在偏差就需要迭代調整,那麼最最佳化就是這個調整的過程。一般來說,這個學習和迭代的過程是漫長、隨機的。最最佳化方法的提出就是用更短的時間得到收斂,取得更好的效果。
4 FAQ
如果某電商網站想挖掘商品之間的關聯關係,從而提升銷售額,你覺得可以採用上面的哪個演算法?為什麼?
在電商網站中,挖掘商品之間的關聯關係以提升銷售額,可用Apriori演算法:
1. 挖掘關聯規則
Apriori演算法是一種經典的關聯分析演算法,專門用於從資料中挖掘商品之間的關聯規則。例如,它可以幫助電商網站發現某些商品經常一起被購買,從而生成關聯推薦。透過分析頻繁出現的商品組合(即頻繁項集),電商平臺可以得出哪些商品之間存在較強的關聯性,從而為推薦系統提供依據。
2. 提升銷售
透過這些關聯規則,電商平臺可以實現交叉銷售(cross-selling),比如當使用者購買一件商品時,推薦與之關聯的其他商品。這樣不僅可以增加使用者的購買量,還可以提升整體銷售額。
3. 典型場景
Apriori演算法在零售行業的“購物籃分析”中應用廣泛,適用於挖掘商品之間的關聯關係。例如,當系統檢測到使用者經常購買商品A和商品B時,它可以自動推薦B給購買A的使用者,形成組合銷售策略。
總的來說,Apriori演算法由於其在關聯分析中的強大功能,能夠幫助電商平臺分析出隱藏在資料中的商品關聯,最佳化銷售策略。
關注我,緊跟本系列專欄文章,咱們下篇再續!
作者簡介:魔都架構師,多家大廠後端一線研發經驗,在分散式系統設計、資料平臺架構和AI應用開發等領域都有豐富實踐經驗。
各大技術社群頭部專家博主。具有豐富的引領團隊經驗,深厚業務架構和解決方案的積累。
負責:
- 中央/分銷預訂系統效能最佳化
- 活動&券等營銷中臺建設
- 交易平臺及資料中臺等架構和開發設計
- 車聯網核心平臺-物聯網連線平臺、大資料平臺架構設計及最佳化
- LLM Agent應用開發
- 區塊鏈應用開發
- 大資料開發挖掘經驗
- 推薦系統專案
目前主攻市級軟體專案設計、構建服務全社會的應用系統。
參考:
- 程式設計嚴選網
本文由部落格一文多發平臺 OpenWrite 釋出!