一、前言
文中部分內容來自書籍和網絡,部分內容為自己的理解。希望借助筆記的方式能夠加深自己對該部分知識的掌握,也作為日后回顧的記錄。
二、基本概念
很多小伙伴聽到數據挖掘這四個字的時候很困惑,雖然字面意思大家都知道,但是數據挖掘到底是個什么東西,需要用到什么技術來實現卻并不了解,下面我們就來剖析一下,到底什么是數據挖掘。
按照慣例,先來一個百度百科的定義:
數據挖掘(英語:Data mining),又譯為資料探勘、數據采礦。它是數據庫知識發現(英語:Knowledge-Discovery in Databases,簡稱:KDD)中的一個步驟。數據挖掘一般是指從大量的數據中通過算法搜索隱藏于其中信息的過程。數據挖掘通常與計算機科學有關,并通過統計、在線分析處理、情報檢索、機器學習、專家系統(依靠過去的經驗法則)和模式識別等諸多方法來實現上述目標。
根據定義可以看出,數據挖掘是一個過程結果的稱謂。即主要目標是從數據中挖取隱藏的信息。挖取的過程中會采用許多技術,包括運用一系列統計方法、模式識別、機器學習(歸根結底都是統計方法啦)等等技術,來實現挖取隱藏信息的目的。
引用一張圖來闡明數據挖掘在整個數據處理流程中的階段和作用:
三、挖掘的數據對象
數據庫數據
顧名思義,就是存儲在數據庫中的數據。這里面的數據庫主要指關系型數據庫。數據倉庫
數據倉庫是從多個數據源收集匯總的一個數據存儲庫,跟事務型數據庫的不同點在于它是面向主題的,有一定的分類和聚合。并且分為度量值和維度值即事實表和維度表這樣的區分,便于多維數據分析(OLAP)。事務數據
事務數據庫的每個記錄代表一個事務,就是我們常見的業務系統,訂單系統。例如京東的一次購物就有一條購物信息的記錄,這就是事務。其他類型的數據
除了以上類型的數據之外的其他數據,包括時間相關或序列相關的數據、地理空間的數據、文本數據以及圖片和音視頻等。
四、挖掘的模式
特征化與區分
數據特征化是目標數據的一般特性或特性的匯總。
數據區分是將目標類數據對象的一個特性與一個或多個對比類對象的一般特性進行比較。頻繁模式、關聯和相關性
頻繁模式是數據中頻繁出現的模式用于預測分析的分類與回歸
分類(classification):分類規則、決策樹、數學公式、神經網絡等。先從數據中選出分好類的訓練集,在該訓練集上運用數據挖掘技術,建立分類模型,然后對沒有分類的數據進行分類。這里的類是預定義好的,即個數是確定的。
下圖中,a是分類規則(IF-THEN規則), b是決策樹, c是神經網絡
回歸(regression):建立連續值函數模型
相關分析(relevance analysis):在做分類和回歸之前,先識別與分類和回歸過程顯著相關的屬性,其他不相關的屬性可以不考慮。
-
聚類分析
聚類分析數據對象,不考慮分類。聚類和分類的區別是聚集不依賴于預先定義好的類,不需要訓練集。
對象根據最大化類內相似性、最小化類間相似性的原則進行聚類或分組。
例如下圖,找到具有共性的數據,然后聚類:
-
離群點分析
分析數據集中與數據的一般行為或模型不一致的數據對象。又稱為異常挖掘。
五、數據挖掘使用的技術
統計學
研究數據的收集、分析、解釋和表示。運用統計模型對數據建模、使用假設檢驗來驗證模型等。-
機器學習
-
監督學習(supervised learning)
基本上是分類的同義詞。學習中的監督來自訓練數據集中標記的實例。 -
無監督學習(unsupervised learning)
本質上是聚類的同義詞。學習過程是無監督的,因為輸入的實例沒有類標記。 -
半監督學習(semi-supervised learning)
在學習模型時,使用標記的和未標記的實例。標記的模型用來學習類模型,未標記的實例用來進一步改進類邊界。 -
主動學習(active learning)
讓用戶在學習過程中扮演主動角色,讓用戶對一個可能來自未標記的實例集或由學習程序合成的實例進行標記。給定要求標記數量的約束。目的是通過主動的從用戶獲取知識來提高模型質量。
-
監督學習(supervised learning)
信息檢索(IR)
是搜索文檔或文檔中信息的科學。假定搜索的數據是無結構的,主要采用關鍵詞。