1. 程式人生 > >《數據挖掘導論》筆記(二)

《數據挖掘導論》筆記(二)

時序 空間自相關 集中 適用於 body 稀疏 體系 數據 頻繁

數據

本章討論一些與數據相關的問題,他們對於數據挖掘的成敗至關重要。

1.數據類型

2.數據的質量

3,使數據適合挖掘的預處理步驟:處理一方面是要提高數據的質量,另一方面要讓數據更好地適應特定的數據挖掘技術和工具。

4.根據數據聯系分析數據:數據分析的異種方法是找出數據對象之間的聯系,之後使這些聯系而不是數據對象本身來進行其余的分析


數據類型

數據集可以看作數據對象的集合。

數據對象:記錄、點、向量、模式、事件、案例、樣本、觀測或實體

屬性:有時也叫變量、特征、字段、特性或維

測量標度:將數值或符號值與對象的屬性相關聯的規則(函數)【形式上,測量過程是使用測量標度將一個值與一個特定對象的特定屬性相關聯】

屬性類型:屬性的性質不必與用來度量它的值的性質相同。換句話說,用來代表屬性的值可能具有不同於屬性本身的性質,並且反之亦然。例如雇員的年齡與ID(ID的數值毫無意義)


數據集類型

常見三個特性:

1.維度

2.稀疏性

3.分辨率:常常可以在不同的分辨率下得到數據,並且在不同的分辨率下數據的性質也不同


記錄數據

許多數據挖掘任務都假定數據集是記錄(數據對象)的匯集,每個記錄包含固定的數據字段(屬性)集。

幾種不同類型的記錄數據:

(1)事務數據或購物籃數據:事務數據是一種特殊類型的記錄數據,其中每個記錄(事務)涉及一系列的項。考慮一個雜貨鋪。顧客一側購物所購買的商品的集合就構成一個事務,而購買的商品是項。這種類型的數據稱作購物籃數據。

(2)數據矩陣:如果一個數據集族中的所有數據對象都具有相同的數值屬性集,則數據對象可以看作多維空間中的點(向量),其中每個維代表對象的一個不同屬性。這樣的數據對象集可以用一個m×n的矩陣表示,其中m行,一個對象一行;n列,一個屬性一列。

(3)稀疏數據矩陣:稀疏數據矩陣是數據矩陣的一種特殊情況,其中屬性的類型相同並且是非對稱的,即只有非零值才是重要的。

基於圖像的數據

圖形可以方便而有效地表示數據。我們考慮兩種特殊情況:(1)圖形捕獲數據對象之間的聯系(2)數據對象本身用圖形表示

有序數據

對於某些數據類型,屬性具有涉及時間或空間序的聯系。

(1)時序數據:也稱為時間數據,可以看作記錄數據的擴充,其中每個記錄包括一個與之相關聯的時間

(2)序列數據:序列數據是一個數據集合,它是各個實體的序列,如詞或字母的序列。除了沒有時間戳之外,它與時序數據非常相似,只是有序序列考慮項的位置。

(3)時間序列數據:時間序列數據是一種特殊的時序數據,其中每個記錄都是一個時間序列,即一段時間以來的測量序列。在分析時間數據時,重要的是要考慮時間自相關,即如果每個測量的時間很接近,則這些測量的值通常非常相似。

(4)空間數據:空間數據的一個重要特點是空間自相關性,即物理上靠近的對象趨向於在其他方面也相似。

數據質量

數據挖掘著眼於兩個方面:(1)數據質量問題的檢測和糾正。(2)使用可以容忍低質量數據的算法。第一步的檢測和糾正,通常稱作數據清理。

期望數據完美是不現實的。由於人的錯誤、測量設備的限制或數據收集過程的漏洞都可能導致問題。數據的值乃至整個數據對象都可能會丟失。在有些情況下,可能有不真實的或重復的對象,即對應於單個“實際”對象出現了多個數據對象。


術語測量誤差:是指測量過程中導致的問題。一個常見的問題是:在某種程度上,記錄的值與實際值不同。對於連續屬性,測量值與實際值的差稱為誤差。

術語數據收集錯誤:是指諸如遺漏數據對象或屬性值,或不當地包含了其他數據對象等錯誤。

噪聲:測量誤差的隨機部分。這可能涉及值被扭曲或加入謬誤對象。常用於包含時間或空間分量的數據

偽像:數據錯誤可能是更確定性現象的結果,如一組照片在同一地方出現條紋。

精度:(同一個量的)重復測量值之間的接近程度

偏倚:測量值與被測量之間的系統的變差

準確率:被測量的測量值與實際值之間的接近度

離群點:在某種意義上具有不同於數據集中其他大部分數據對象的特征的數據對象,或是相對於該屬性的典型值來說不尋常的屬性值。我們也稱其為異常對象或異常值。

遺漏值:一個對象遺漏一個或多個屬性值的情況並不少見。有時可能會出現信息收集不全的情況,例如有的人拒絕透露年齡或體重。有許多處理遺漏值的策略,每種策略可能適用於特定的情況。

策略例如:

(1)刪除數據對象或屬性

(2)估計遺漏值

(3)在分析時忽略遺漏值

不一致的值:數據可能包含不一致的值。檢測到不一致後,有時可以對數據進行更正。產品代碼可能有“校驗”數字,或者可以通過一個備案的已知產品代碼列表,復核產品代碼,如果發現它不正確但接近一個已知代碼,則糾正它。糾正不一致需要額外的或冗余的信息。

重復數據:數據集可能包含重復或幾乎重復的數據對象。術語去重復通常用來表示處理這些問題的過程。

數據預處理

我們討論以下主題:

1.聚集

2.抽樣

3.維歸約

4.特征子集選擇

5.特征創建

6.離散化和二元化

7.變量變換

這些項目分為兩類,即選擇分析所需要的數據對象和屬性以及創建/改變屬性。這兩種情況的目標都是改善數據挖掘分析工作,減少時間,降低成本和提高質量。

聚集

聚集將兩個或多個對象合並成單個對象。考慮一個由事務(數據對象)組成的數據集,它記錄一年中不同日期在各地商店的商品日銷售情況。

這裏顯而易見的問題是如何創建聚集事務,即在創建代表單個商店或日期的聚集事務時,如何合並所有記錄的每個屬性的值。定量屬性通常通過求和或求平均值進行聚集。定性屬性可以忽略或匯總成在一個商店銷售的所有商品的集合。

抽樣

抽樣是一種選擇數據對象子集進行分析的常用方法。在統計學中,抽樣長期用於數據的事先調查和最終的數據分析。

有效抽樣的主要原理如下:如果樣本是有代表性的,則使用樣本與使用整個數據集的效果幾乎一樣。而樣本是有代表性的。前提是它近似地具有與原數據集相同的(感興趣的)性質。

抽樣方法:

1.簡單隨機抽樣:(1)無放回抽樣(2)有放回抽樣

2.分層抽樣:它從預先指定的組開始抽樣。

3.漸進抽樣:合適的樣本容量可能很難確定,因此有時需要使用自適應或漸進抽樣方法。這些方法從一個小樣本開始,然後增加樣本容量直至得到足夠容量的樣本。盡管這種技術不需要在開始就確定正確的樣本容量,但是需要評估樣本的方法,確定它是否足夠大。

維歸約

數據集可能包含大量特征。維歸約有多方面的好處。關鍵好處是,如果維度較低,許多數據挖掘算法的效果就會更好。這一部分是因為維歸約可以刪除不相關的特征並降低噪聲,一部分是因為維災難。另一個好處是維歸約可以使模型更容易理解,因為模型可能只涉及較少的屬性。此外,維歸約也可以更容易讓數據可視化。即使維歸約沒有將數據歸約到二維或三維,數據也可以通過觀察屬性對或三元組屬性達到可視化,並且這種組合的數目也會大大減少。最後,使用維歸約降低了數據挖掘算法的時間和內存需求。

術語維歸約通常用於這樣的技術:通過創建新屬性,將一些舊屬性合並在一起來降低數據集的維度。通過選擇舊屬性的子集得到新屬性,這種維歸約稱為特征子集選擇或特征選擇。

1.維災難

隨維度的增加,數據分析變得越來越困難。

2.維歸約的線性代數技術

維歸約的一些最常用的方法是使用線性代數技術,將數據由高維空間投影到低維空間,特別是對於連續數據。例,PCA,SVD.

特征子集選擇

降低維度的另一種方法是僅使用特征的一個子集。盡管看起來這種方法可能丟失信息,但是在存在冗余或不相關的特征的時候,情況並非如此。冗余特征重復了包含在一個或多個其他屬性中的許多或所有信息。不相關特征包含對於手頭的數據挖掘任務幾乎完全沒用的信息。冗余和不相關的特征可能降低分類的準確率,影響所發現的聚類的質量。

盡管使用常識或領域知識可以立即消除一些不相關的和冗余的屬性,但是選擇最佳的特征子集通常需要系統的方法。特征選擇的理想方法是:將所有可能的特征子集作為感興趣的數據挖掘算法的輸入,然後選取產生最好結果的子集。這種方法的優點是反映了最終使用的數據挖掘方法的目的和偏愛。然而,由於涉及n個屬性的子集多大2n個,這種方法在大部分情況下行不通,因此需要其他策略。有三種標準的特征選擇方法:嵌入、過濾和包裝。

嵌入

特征選擇作為數據挖掘算法的一部分是理所當然的。特別是在數據挖掘算法運行期間,算法本身決定使用哪些屬性和忽略哪些屬性。構造決策樹分類器的算法通常以這種方式運行。

過濾

使用某種獨立於數據挖掘任務的方法,在數據挖掘算法運行前進行特征選擇,例如我們可以選擇屬性的集合,它的屬性對之間的相關度盡可能低。、

包裝

這些方法將目標數據挖掘算法作為黑盒,使用類似於前面介紹的理想方法,但通常並不枚舉所有可能的子集來找出最佳屬性子集


1.特征子集選擇體系結構

技術分享圖片

特征子集選擇過程流程圖


從概念上講,特征子集選擇是搜索所有可能的特征子集的過程。可以使用許多不同類型的搜索策略,但是搜素策略的計算花費應當降低,並且應當找到最優或近似最優的特征子集。通常不可能同時滿足這兩個要求,需要折中權衡。

搜索的一個不可缺少的組成部分是評估步驟,根據已經考慮的子集評價當前的特征子集。這需要一種評估度量,針對諸如分類或聚類等數據挖掘任務,確定屬性特征子集的質量。對於過濾方法,這種度量試圖預測實際的數據挖掘算法在給定的屬性集上執行的效果如何;對於包裝方法,評估包括實際運行目標數據挖掘應用,子集評估函數就是通常用於度量數據挖掘結果的評判標準。

因為子集的數量可能很大,考察所有的子集可能不現實,因此需要某種停止搜索判斷。其策略通常基於如下一個或多個條件:叠代次數,子集評估的度量值是否最優或超過給定的閾值,一個特定大小的子集是否已經得到,大小和評估標準是否同時達到,使用搜索策略得到的選擇是否可以實現改進。

最後,一旦選定特征子集,就要驗證目標數據挖掘算法在選定子集上的結果。一種直截了當的評估方法是用全部特征的集合運行算法,並將全部結果與使用該特征子集得到的結果進行比較。如果順利的話,特征子集產生的結果將比使用所有特征產生的結果更好,或者至少幾乎一樣好。另一個驗證方法是使用一些不同的特征選擇算法得到特征子集,然後比較數據挖掘算法在每個子集上的運行結果。

2.特征加權

特征加權是另一種保留或刪除特征的方法。特征越重要賦予的權值越大,而不太重要的特征賦予較小的權值。

特征創建

三種創建新屬性的方法:

1.特征提取

2.映射數據到新空間:使用一種完全不同的視角挖掘數據可能揭示出重要和有趣的特征。例如傅裏葉變換、小波變換等

3.特征構造

離散化和二元化

有些數據挖掘算法,特別是某些分類算法,要求數據是分類屬性形式。發現關聯模式的算法要求數據是二元屬性形式。這樣,常常需要將連續屬性變換成分類屬性(離散化),並且連續和離散屬性可能都需要變換成一個或多個二元屬性(二元化)。此外,如果一個分類屬性具有大量不同值(類別),或者某些值出現不頻繁,則對於某些數據挖掘任務,通過合並某些值減少類別的數目可能是有益的。

1.二元化

2.連續屬性離散化

3.具有過多值的分類屬性

變量變換

變量變換是指用於變量的所有值的變換。(盡管我們也偶爾用屬性變換這個術語,但是遵循習慣用法,我們使用變量指代屬性。)換言之,對於每個對象,變化都作用於該對象的變量值。

1.簡單函數

2.規範化或標準化


相似性和相異性的度量

由於兩個對象之間的鄰近度是兩個對象對應屬性之間的鄰近度的函數,因此我們首先介紹如何度量僅包含一個簡單屬性的對象之間的鄰近度,然後考慮具有多個屬性的對象的鄰近度度量。這包括相關和歐幾裏得距離度量,以及Jaccard和余弦相似性度量。前二者適用於時間序列這樣的稠密數據或二維點,後二者適用於像文檔這樣的稀疏數據。

兩個對象之間的相似度的非正式定義是這兩個對象相似程度的數值度量。因而,兩個對象越相似,他們的相似度就越高。通常,相似度是非負的,並常常在0(不相似)和1(完全相似)之間取值

兩個對象之間的相異度是這兩個對象差異程度的數值度量。對象越類似,他們的相異度就越低。

變換

通常使用變換把相似度轉換成相異度或相反,或者把近似度變換到一個特定區間,如[0,1]

通常,鄰近度度量(特別是相似度)被定義為或變換到區間[0,1]中的值。這樣的動機是使用一種適當的尺度,由鄰近度的值表明兩個對象之間的相似(或相異)程度。這種變換通常是比較直截了當的。

《數據挖掘導論》筆記(二)