Data mining

由資料探勘課程中講義改寫並整理而成。

這份簡報檔案是關於「進階資料探勘」(Advanced Data Mining) 課程的介紹,授課教師為莊秀敏 (Hsiu-Min Chuang) 教授,隸屬於中原大學資訊工程學系。

為什麼需要資料探勘?

  • 動機: 資訊的爆炸性增長(從 TB 到 PB 等級)。我們處於「資料充斥 (drowning in data),但缺乏知識 (starving for knowledge)」的狀態 。
  • 需求:資料探勘的出現是為了「自動化分析巨量資料集」。

什麼是資料探勘?

  • 定義:資料探勘是「從巨量資料中,萃取出有趣的 (非顯而易見、隱含的、先前未知且具有潛在用途的) 模式或知識」。
  • 別名:它也被稱為 KDD (資料庫知識發現)、知識萃取、資料/模式分析等 。

Knowledge Discovery (KDD) Process

  1. 資料整合 (Data Integration)
  2. 資料清理 (Data Cleaning)
  3. 資料倉儲 (Data Warehouse)
  4. 選取任務相關資料 (Task-relevant Data / Selection)
  5. 資料探勘 (Data Mining)
  6. 模式評估 (Pattern Evaluation)
  7. 知識呈現 (Knowledge)

資料探勘的功能 (Patterns/Functions)

概化 (Generalization)

將低層次、詳細的資料,轉換為高層次、更易於理解的摘要資訊,助於從宏觀的角度來理解資料的總體特徵。

  1. 資訊整合與資料倉儲建構:
  • 將來自不同來源的資料進行清理 (cleaning)、轉換 (transformation) 和整合 (integration)。
  • 目標是建立一個多維度資料模型 (multidimensional data model),這也是資料倉儲 (Data Warehouse) 的基礎。
  1. 資料方塊技術:
  • 使用可擴展的方法 (Scalable methods) 來預先計算 (computing / materializing) 各種維度組合下的彙總值 (aggregates)。
  1. 多維度概念描述:
    這是概化的具體應用,主要分為兩種:
  • 特徵化 (Characterization): 描述某一特定資料群組的總體特徵。例如:總結「高額度信用卡客戶」的共同特徵(如年齡、收入、職業分佈)。
  • 區辨 (Discrimination): 比較兩個或多個不同資料群組之間的特徵差異 。例如,投影片中的例子:比較「乾燥地區 (dry region)」與「潮濕地區 (wet region)」在特性上的差異 。

關聯性分析(Association Analysis)

找出資料中經常一起出現的項目,例如「買了尿布的顧客,也很常一起買啤酒」。

  • 頻繁樣式 (Frequent patterns): 指經常一起出現的項目組合 (itemsets)。例如,在超市中,「尿布」和「啤酒」是否經常被一起購買?
  • 關聯規則 (Association rule): 用來表示項目間關聯性的規則。
  • 「關聯 (Association)」或「相關 (Correlation)」不等於「因果關係 (Causality)」。(買尿布並不會導買啤酒)。

分類 (Classification)

為一項「監督式學習」任務,根據已知的訓練資料建立模型,用以預測未知資料的類別標籤。例如判斷信用卡交易是否為盜刷。

  • 流程:
    1. 建立模型:依據一組已知的「訓練範例 (training examples)」來建立一個模型或函數。
    2. 預測未來:使用這個模型來描述和區分不同的類別,並預測「未知類別標籤」的資料。
  • 範例:
    • 根據「氣候 (climate)」來分類國家。
    • 根據「油耗 (gas mileage)」來分類汽車。
  • 典型方法:決策樹 (Decision trees)、貝氏分類 (naïve Bayesian)、支持向量機 (SVM)、神經網路 (neural networks)、迴歸 (logistic regression) 等。
  • 典型應用:信用卡詐欺偵測、精準行銷、疾病分類、網頁分類等。

分群 (Cluster Analysis)

為一項「非監督式學習」任務,在沒有類別標籤的情況下(非監督式,將資料依照「群內相似度高、群間相似度低」的原則,自動分成數個群組)。

  • 基本原則:

    • 最大化「群內」相似度 (Maximizing intra-class similarity):同一群集內的資料點彼此盡可能相像。
    • 最小化「群間」相似度 (Minimizing interclass similarity):不同群集之間的資料點彼此盡可能不同。
  • 範例: 對房屋資料進行分群,以找出其分佈模式。


離群值分析 (Outlier Analysis)

偵測出「不符合資料一般行為」的資料,可用於詐欺偵測或稀有事件分析。

  • 離群值 (Outlier):是一個資料物件,其行為不符合資料的「一般行為 (general behavior)」。
  • 重要概念:離群值是「雜訊 (Noise)」還是「特例 (Exception)」?「一個人的垃圾可能是另一個人的寶藏 (One person’s garbage could be another person’s treasure)」。這意味著離群值雖然異常,但可能蘊含著非常重要的資訊。

時間和順序 (Time and Ordering) 相關的資料探勘功能

分析有時間順序的模式 (如先買A、再買B) ,或是結構性資料 (如社群網路、圖形)。

  1. 序列、趨勢與演化分析 (Sequence, trend and evolution analysis)
  • 趨勢、時間序列與偏差分析 (Trend, time-series, and deviation analysis): 這類分析著重於資料隨時間的變化趨勢,例如使用「迴歸 (regression)」來進行「數值預測 (value prediction)」。

  • 序列模式探勘 (Sequential pattern mining): 找出經常「依序發生」的事件模式。

    • 例如:顧客「先 買了數位相機,然後 才去買大容量 SD 記憶卡」。這和關聯規則 (同時購買) 不同,這裡強調的是「先後順序」。
  • 週期性分析 (Periodicity analysis): 找出資料中重複出現的循環或週期 (例如:季節性銷售高峰)。

  • 基序與生物序列分析 (Motifs and biological sequence analysis): 找出在序列資料中 (例如 DNA 或蛋白質序列) 反覆出現的子序列或「基序 (motifs)」,包含「近似 (approximate)」或「連續 (consecutive)」的模式。

  • 相似性分析 (Similarity-based analysis): 比較不同時間序列或序列模式之間的相似度。

  1. 探勘資料串流 (Mining data streams)
    資料串流的特性是:有順序性 (Ordered)、隨時間變化 (time-varying),且可能是無限的 (potentially infinite)。例如:感測器資料、網站點擊流 (clickstreams) 或金融交易資料,這些資料必須即時且連續地進行分析。

認識你的資料

資料集的組成

  • 一個資料集(Data Set)是由多個資料物件(Data Objects)所構成。
  • 每個資料物件代表一個實體(Entity),也就是現實世界中可被觀察或分析的對象。

屬性描述資料物件

  • 每個資料物件是由一組屬性(Attributes)來描述的。
  • 在資料庫中,每一列(row)代表一個資料物件,每一欄(column)則代表一個屬性。

資料集的類型

記錄型資料

  • 關聯式記錄(Relational Records):如資料庫中的表格,每列為一筆資料,每欄為一個屬性。

  • 資料矩陣(Data Matrix):例如數值矩陣或交叉表(crosstabs),常見於統計分析。

  • 文件資料(Document Data):文字文件可轉換為「詞頻向量(Term-Frequency Vector)」

    teamcoachball
    Document1305
    Document2070
    Document3010
  • 交易資料(Transaction Data):每筆交易包含一組項目,例如購物籃中的商品。

    TIDItems
    1Bread, Coke, Milk
    2Beer, Bread
    3Beer, Coke, Diaper, Milk

圖形與網路資料

這類資料具有節點與連結的結構。

  • 全球資訊網(World Wide Web):網頁之間的超連結形成網路結構。
  • 社群或資訊網路(Social/Information Networks):如 Facebook、LinkedIn 的人際關係圖。
  • 分子結構(Molecular Structures):化學分子可表示為原子節點與鍵結邊。

有序資料

這類資料具有時間或順序性。

  • 影像資料(Video Data):由一連串影像構成。
  • 時間序列資料(Temporal Data):如股價、氣溫等隨時間變化的資料。
  • 序列資料(Sequential Data):如顧客購物行為序列、網頁瀏覽路徑。

空間、影像與多媒體資料

這類資料通常具有位置或視覺特性。

  • 空間資料(Spatial Data):如地圖、地理資訊系統(GIS)。
  • 影像與影片資料(Image & Video Data):如照片、監視器錄影、醫學影像。

屬性(Attributes)概念與分類

  • 屬性(也稱為維度、特徵、變數)是資料物件的特徵欄位。
  • 每個屬性代表一種特性,例如:顧客的 ID、姓名、地址。
  • 在資料表中,每一欄(column)就是一個屬性。

屬性類型

  • 名目型屬性(Nominal)

    • 表示分類或名稱,無順序性。
    • 適合用於分類分析。
  • 二元屬性(Binary)

    • 只有兩種狀態,通常以 0 和 1 表示。
    • 對稱二元(Symmetric Binary):兩種狀態同等重要,例如性別。
    • 非對稱二元(Asymmetric Binary):其中一種狀態較重要,例如醫療檢測結果(陽性 vs 陰性),通常將重要狀態設為 1。
  • 序位型屬性(Ordinal)

    • 屬性值有明確的順序,但無法量化差距。
    • 範例:尺寸 = {小、中、大}
  • 數值型屬性(Numeric)

    • 區間尺度(Interval-Scaled)
      • 有順序,且單位間距相等,無絕對零點。
      • 例,日期。
    • 比例尺度(Ratio-Scaled)
      • 有順序,且單位間距相等,有絕對零點。
      • 例,長度、金額、計數。
  • 離散與連續屬性

    • 離散屬性(Discrete):只有有限或可數無限個值。
    • 連續屬性(Continuous):屬性值為實數,通常以浮點數表示,實際上受限於儀器精度。

結構化資料的重要特性

維度性(Dimensionality)

  • 指資料中屬性的數量,也就是每筆資料的欄位數。

稀疏性(Sparsity)

  • 指資料中大多數欄位值為零或缺值,只有少數欄位有意義的值。
  • 在這種情況下,「有出現」比「沒出現」更重要。

解析度(Resolution)

  • 指資料的尺度或精細程度。

分布性(Distribution)

  • 指資料值的分布情形,包括集中趨勢與離散程度。
    • 集中性(Centrality):如平均值、中位數,反映資料的中心位置。
    • 離散性(Dispersion):如變異數、標準差,反映資料的擴散程度。