數據挖掘和關聯規則基本概念

數據挖掘定義
  • 數據挖掘指的是從大量數據中挖掘出隱含的、先前未知的、對決策有潛在價值的知識和規則的高級處理過程。通過數據挖掘,有價值的知識、規則或者高層次的信息就能夠從數據庫的相關數據集合中抽取出來,並以不同的形式、角度進行顯示,從而能夠得到一個豐富的、可靠的知識獲取資源庫。比如:超市的經營者希望將經常被同時購買的商品放到一起,從而提高銷售額;保險公司希望購買保險的客戶具有哪些特徵,從而可以爲其它非保險用戶推薦保險;醫學上可能期望從成千上萬的病歷中找出某種疾病的某些特徵,從而爲治癒這類疾病提供一些方法。
  • 數據挖掘是面向應用的,包含了:簡單的數據檢索查詢、微觀乃至宏觀的統計/分析/綜合/推理、發現事件/樣本之間的相互關係、指導問題的求解、未來的預測。
  • 數據挖掘定義:通過特定的算法,在可接受的計算效率限制內,從數據庫中辨別有效的、新穎的、潛在有用的、最終可理解的模式的過程。
數據挖掘分類

按照數據挖掘的方法可以將數據挖掘分爲:

  • 統計方法:判別式方法、探索性方法等
  • 機器學習方法:迴歸分析、聚類分析、分類分析等
  • 神經網絡方法:傳統神經網絡、卷積神經網絡、循環神經網絡等

按照挖掘任務來區分的話,可以將數據挖掘區分爲:

  • 關聯規則挖掘:也常常稱爲購物籃分析,通常用於識別一些經常出現的商品集合和規則,其識別結果將用於指導交叉銷售
  • 預測分析:該算法通常需要輸入一個時間序列的數據集,考慮這些數據樣本之間的順序關係,需要考慮數據的基本趨勢、週期性等問題,比如:股市明日股值是多少
  • 序列分析:用於在一系列離散的序列數據間發現模型,比如:DNA的序列模型、用戶的購買商品序列(先購買計算機還是先購買音響)
數據挖掘常用技術
  • 神經網絡
  • 決策樹
  • Logistic
  • SVM
  • 最近鄰技術
  • 規則歸納
數據挖掘和機器學習的區別
  • 機器學習主要針對特定模式的數據進行學習,也就是說在算法模型構建前,數據的模式特徵屬性已經是存在了的
  • 數據挖掘則是從實際的海量數據源中直接抽取知識,依賴既定的業務領域知識來進行模型的構建
  • 實際上數據挖掘中,常用的技術基本上都是機器學習的相關算法
數據挖掘過程

數據準備

  • 數據集成:將多個數據源的數據進行合併處理,解決語義模糊性問題,處理數據中的遺漏和清洗數據等
  • 數據選擇:辨別出需要分析的數據集合,縮小處理範圍,提供數據挖掘的質量
  • 數據預處理:爲了提高挖掘質量

數據挖掘

  • 做出假設
  • 選擇合適的工具/算法
  • 進行挖掘操作,得到知識
  • 證實發現的知識是否符合假設

結果表達和解釋

數據挖掘面臨的問題
  • 數據是動態的而且數據量龐大,數據存在着噪聲、不確定性、信息丟失、信息冗餘以及數據分佈稀疏等問題
  • 現在的理論和算法還有待發展和完善
  • 知識的表達形式現在還沒有形成一個標準
  • 目前的數據挖掘的效果還不盡人意
關聯規則

關聯規則(Association Rule)是數據挖掘中最典型的工作之一,也是現階段來講數據挖掘產生利益價值的一個比較核心的技術,也稱爲購物籃分析。

購物籃分析基本概念

購物籃分析(Market Basket Analysis,MBA)是一種數據挖掘技術,主要目的是通過購物籃中的商品信息揭示不同商品之間的相似度。MBA分析可以幫助我們找到可能會一起購買的商品,我們將相似度最相近的商品放到一起會增加商品被購買的機會,從而使顧客購買更多的商品。
定義:通過兩件商品同時出現的頻率來表示相似度,如果出現的頻率越高,那麼認爲這兩件商品的關聯性越高。

購物籃分析適用場景
  • 推薦系統
  • 精準營銷
  • 超市購物分析
  • 電商網站購買情況分析
  • 醫療保險反欺詐識別分析
購物籃分析相關概念
  • 交易集:包含所有數據的一個數據集合,數據集合中的每條數據都是一筆交易
  • 項:交易集中的每個商品被成爲一個項
  • 模式/項集(ItemSet):項組合被成爲模式/項集
  • 支持度(Support):一個項集在在整個交易集中出現的次數/出現的頻度,比如:Support({A,C})=2表示A和C同時出現的次數是2次
  • 最小支持度:交易次數達到最小支持度的情況下,該項集纔會被計算
  • 頻繁項集:如果項集的支持度大於等於最小支持度,那麼該項集被稱爲頻繁項集
  • 置信度(Confidence):關聯規則左件和右件同時出現的頻繁程度,該值越大,表示同時出現的機率越大
  • 關聯規則:LHS–>RHS(Confidence),如果客戶購買了左件(LHS),也可能購買右件(RHS),購買的置信度爲Confidence
購物籃分析的步驟
  • 計算頻繁項集:從每條交易中獲取項集,然後計算項集的支持度,獲得頻繁項集
  • 產生項的關聯規則(置信度):根據每個頻繁項集中的子項集的支持度佔對應項集的支持度的百分比作爲置信度
購物籃分析的編碼實現
  • IDEA中創建基於Maven的Spark Core開發環境的項目
  • 構建模擬數據
  • 編寫Spark Core實現購物籃分析
  • 測試運行
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章