書名:數據挖掘導論(Introduction to Data Mining)
做者: Pang-Ning Tan / Michael Steinbach / Vipin Kumar
出版社: 人民郵電出版社
譯者: 範明 / 範宏建
出版年: 2010-12-10
ISBN: 9787115241009算法
第2章 數據
數據類型
屬性與度量
相關定義
- 屬性(attribute):對象的性質或特性,它因對象而異,或隨時間變化。
- 測量標度(measurement scale):將數值或符號值與對象的屬性相關聯的規則(函數)。
注意
- 形式上,測量過程是使用測量標度將一個值與一個特定對象的特定屬性相關聯。
- 屬性的性質沒必要與用來度量它的值的性質相同。如表明ID的數字,做爲一系列數字,具備平均數等性質,可是這些性質與ID這個屬性無關。
用值的個數描述屬性
- 離散(discrete):離散屬性具備有限個值或無限可數個值。
- 連續(continuous):連續屬性是取實數值的屬性。
非對稱的屬性
更關注部分屬性值。如學生選修了對應某屬性的課程,該屬性記爲1,不然記爲0.因爲學生只選修全部可選課程集合中的很小一部分,因此在這種狀況,經過更加關注非零值。網絡
數據集類型
數據集的通常特徵
- 維度(dimensionality)
數據集的維度是數據集中的對象具備的屬性數目。分析高維數據有時候會陷入所謂的維度災難(curse of dimensionality),因此,數據預處理有的時候須要減小維度,稱爲維度歸約(dimensionality reduction)。
- 稀疏性(sparsity)
數據集中大部分數據缺失或爲0。這將節省大量的計算時間和存儲空間,有些數據挖掘算法僅適合處理稀疏數據。
- 分辨率(resolution)
在不一樣的分辨率下數據的性質不一樣。如在幾米的分辨率中,地球表面崎嶇,但在幾十千米的分辨率中,地球表面相對平坦。
常見的數據集類型
- 記錄數據
事務數據(transaction data):其中每一個記錄(事務)涉及一系列的項。如顧客一次購買的商品集合。
數據矩陣(data matrix):若是一個數據集族中的全部數據對象都具備相同的數值屬性集,則數據對象能夠看做多維空間中的向量,其中每一個維表明對象的一個不一樣屬性。
- 基於圖形的數據
用圖形表示對象之間的關係:如社交網絡等。
數據自己用圖形表示:如化合物的分子結構圖。
- 有序數據
時序數據(sequential data):每一個記錄包含一個與之相關聯的時間。
序列數據(sequence data):有序序列,考慮項的位置,如基因序列。
時間序列數據(time series data):特殊的時序數據,一段時間以來的測量序列,如股票每日價格。
空間數據:具備空間屬性的數據,如全球溫度。
數據質量
相關定義
- 精度(percision):(同一個量的)重複測量值之間的接近程度。
- 偏倚(bias):測量值與被測量值之間的系統變差。
- 準確率(accuracy):被測量的測量值與實際值之間的接近程度。
準確率依賴於精度和偏倚,並且是一個通常化的概念,所以沒有用這兩個量表達準確的具體公式。
- 噪聲:測量偏差的隨機部分。
- 離羣點(outlier):某種意義上具備不一樣於數據集中其餘大部分數據對象的特徵的數據對象,或是相對於該屬性的典型值來講不一樣尋常的屬性值。注意區別噪聲和離羣點,離羣點也能夠是合法的數據對象或值。
- 遺漏值:一個對象遺漏一個或多個屬性值。
對於遺漏值,一般有三種應對措施:1. 刪除數據對象或屬性;2. 估計遺漏值;3. 在分析時忽略遺漏值(有些數據挖掘方法能夠作到)。
關於應用
注意兩個問題:app
- 數據的時效性
- 數據的相關性:數據與模型必須相關,可用的數據必須包含應用功能所須要的信息。
數據預處理
彙集(aggregation)
定義:將兩個或多個對象合併成單個對象。
動機:1. 減小數據規模,可使用開銷更大的數據挖掘算法。 2. 經過高層而不是低層的數據視圖,起到了範圍或標度轉換的做用。 3. 對象或屬性羣的行爲比單個對象或屬性的行爲更加穩定。
缺點:可能會丟失一些細節。函數
抽樣
定義:選擇數據對象子集進行分析。
要求:若是樣本具備表明性,則使用樣本與使用整個數據集的效果幾乎同樣。而樣本具備表明性,要求樣本近似地具備與原數據集相同的性質。
漸進抽樣:須要自適應(adaptive)或漸進抽樣(progressive sampling)來肯定合適的樣本容量。具體來講,從一個小樣本開始,而後增長樣本容量直至獲得足夠容量的樣本。spa
維歸約
定義:經過建立新屬性,將一些舊屬性合併在一塊兒來下降數據集的維度。
好處:1. 刪除不相關的屬性並下降噪聲; 2. 維歸約使得模型更好理解,更容易讓數據可視化。
維災難:隨着數據維度的增長,許多數據分析變得很是困難。
維歸約的線性代數技術:主成分分析(Principal Components Analysis, PCA)。奇異值分解(Singular Value Decomposition, SVD)。orm
特徵子集選擇
定義:僅使用特徵的子集來下降維度。
特徵選擇的理想方法:將全部可能的特徵子集做爲感興趣的數據挖掘算法的輸入,而後選取產生最好結果的子集。
特徵選擇的通常方法:對象
- 嵌入方法(embedded approach):數據挖掘算法自己會進行特徵選擇。
- 過濾方法(filter approach):使用某種獨立於數據挖掘任務的方法,在數據挖掘算法運行前進行特徵選擇。
- 包裝方法(wrapper approach):這些方法將目標數據挖掘算法做爲黑盒,使用相似於前面介紹的理想算法,但一般並不枚舉全部可能的子集來找出最佳屬性子集。
- 特徵子集選擇體系
可將過濾和包裝方法放到一個共同的體系結構中,特徵選擇的過程能夠看做由四部分組成:子集評估度量、控制新的特徵子集產生的搜索策略、中止搜索判斷和驗證過程。過濾方法和包裝方法的惟一不一樣是它們使用了不一樣的特徵子集評估方法。對於包裝方法,子集評估使用目標數據挖掘算法;對於過濾算法,子集評估技術不一樣於目標數據挖掘算法。流程以下圖。
- 特徵加權
特徵越重要,所賦予的權值越大;對不過重要的特徵,賦予較小的權值。
特徵建立
定義:由原來的屬性建立新的屬性集,更有效地捕捉數據集中的重要信息。
方法:特徵建立的方法主要有如下三種:事務
- 特徵提取(feature extraction)
最經常使用的特徵提取技術都是高度針對具體領域的,對於特定領域,會開發新的特徵和特徵提取方法。
- 映射數據到新的空間
使用一種徹底不一樣的視角挖掘數據可能揭示出重要和有趣的特徵,如使用傅里葉變換(Fourier transform)、小波變換(wavelet transform)。
- 特徵構造
由原特徵構造新特徵。如用質量和體積來構造密度。
離散化和二元化
定義:
離散化(discretization):將連續屬性變換成分類屬性。
二元化(binarization):連續和離散屬性變換成一個或多個二元屬性。ip
定義:用於變量值的變換,對於每一個對象,變換都做用於該對象的變量值。
兩種重要的變量變換類型:ci
- 簡單函數變換
一個簡單的數學函數(如平方根、倒數、對數)分別做用於每個值。
- 規範化
使整個值的集合具備特定的性質。
類似性和相異性的度量
定義
兩個對象的類似度(similarity)的非正式定義是這兩個對象類似程度的數值度量。
兩個對象的相異度(dissimilarity)的非正式定義是這兩個對象差別程度的數值度量。
簡單屬性的類似度與類似度
x,y是兩個對象,這兩個對象都只有一個屬性,d是兩個對象之間的相異度,s是兩個對象之間的類似度。
- 對於標稱屬性:
若是x=y, d=0, s=1;若是x!=y,d=1, s=0
- 對於序數屬性:
d = |x-y|/(n-1) (值映射到整數0到n-1,其中n是值的個數)
s = 1-d
- 對於區間或比率屬性:
d = |x-y|
s = -d, s = 1/(1+d), s = e^(-d), s = 1 - (d-min_d)/(max_d-min_d)
數據對象之間的相異度
- 閔可夫斯基距離(Minkowski distance)
\[d(x,y) = \sqrt[r]{\sum_{k=1}^{n} \left | x_{k}-y_{k} \right |^{r}} \tag{2-1}\]
其中,r是參數,常見有如下三種例子。
- r=1,城市街區(也稱曼哈頓、出租車、\(L_1\)範數)距離,常見的是海明距離(Hamming distance)。
- r=2,歐幾里得距離(\(L_2\)範數)。
- r=\(\infty\),上確界(\(L_{max}\)或\(L_\infty\)範數)。
鄰近性度量
- 二元數據的類似性度量
簡單匹配係數(Simple Matching Coefficient, SMC)
\[SMC=(f_{11}+f_{00})/(f_{11}+f_{00}+f_{10}+f_{01}) \tag{2-2}\]
其中,
\(f_{11}\)是x取1而且y取1的屬性個數
\(f_{00}\)是x取0而且y取0的屬性個數
\(f_{10}\)是x取1而且y取0的屬性個數
\(f_{01}\)是x取0而且y取1的屬性個數
Jaccard係數(Jaccard Coefficient)
\[SMC=f_{11}/(f_{11}+f_{10}+f_{01}) \tag{2-3}\]
有些狀況下,x取0,y取0的屬性較多,但並不能說明這兩個對象具備類似性。
- 餘弦類似度(cosine similarity)
\[cos(x,y)=(x·y)/(\left \\| x \right \\| \left \\| y \right \\|)\]
選擇正確的鄰近性度量
對於許多稠密的、連續的數據,一般使用距離度量,連續屬性之間的鄰近度一般用屬性值的差來表示。 對於稀疏數據,餘弦、Jaccard和廣義Jaccard度量對於這類數據是合適的。 若是時間序列的量值是重要的,可使用歐幾里得距離。