1. 程式人生 > >資料探勘1:資料型別 質量 預處理 相似性和相異性度量

資料探勘1:資料型別 質量 預處理 相似性和相異性度量

資料探勘到底是幹啥的?

比較官方的定義就是,在大型資料儲存庫中,自動地發現有用資訊的過程。其實就像我之前所說的,從大量的資料中,發現那個我們想要尋找到的模式。

資料探勘的一般過程包括以下這幾個方面:

1、 資料預處理

2、 資料探勘

3、 後處理

首先來說說資料預處理。之所以有這樣一個步驟,是因為通常的資料探勘需要涉及相對較大的資料量,這些資料可能來源不一導致格式不同,也許有的資料還存在一些缺失值或者無效值,如果不經處理直接將這些‘髒’資料放到我們的模型中去跑,非常容易導致模型計算的失敗或者可用性很差,所以資料預處理是我們所有資料探勘過程中都不可或缺的一步。不客氣地講,預處理這一步通常佔用了我們資料探勘過程中的很大部分時間,但的確值得我們去做,關於它的詳細內容我們在下面會講。

至於資料探勘和後處理相對來說就容易理解多了。完成了資料的預處理,我們通常進行的特徵的構造然後放到特定的模型中去計算,利用某種標準去評判不同模型或組合模型的表現,最後確定一個最合適的模型用於我們的後處理。後處理的過程相當於我們已經發現了那個我們想要找到的模式,我們會去應用它或者用合適的方式將其表示出來。

最後,我們再來說說資料探勘的任務。

前面我一直用一個詞來代表資料探勘的目標,那就是‘模式’。那具體來說,它是指啥呢?

一種我們稱之為預測任務。

也就是說給了我們一定的目標屬性,讓我們去預測目標的另外一特定屬性。如果該屬性時離散的,我們通常稱之為‘分類’,而如果目標屬性是一個連續的值,我們則稱之為‘迴歸’。

另一種我們稱之為描述任務。

這是指我們找出資料間的潛在的聯絡模式。比方說兩個資料存在強關聯的關係,這裡就得提到那個大資料經常講的啤酒尿布的故事,通過對資料的分析,發現買尿布的男性通常也會買點啤酒,那麼商家根據這個可以將這兩種商品打包出售來提高業績,雖然我個人覺得這是個編造的事實,不過可以有助於理解兩個資料存在強相關。另外一個非常重要的就是聚類分析,這也是我們在日常資料探勘中應用非常非常頻繁的一種分析,旨在發現緊密相關的觀測值組群,可以再沒有標籤的情況下將所有的資料分為合適的幾類來進行分析或者降維。其他的描述任務還有異常檢測,其過程類似於聚類的反過程,聚類將相似的資料聚合在一起,而異常檢測將離群太遠的點給剔除出來。

以上就是關於資料探勘的一些概念,包括它的任務,流程及任務,對這些有清晰的認識有助於在日後的資料探勘過程中以一種標準化的形式去進行,同時可以保持非常清晰的目的性。

====================================================================資料

接下來,我們再聊一聊關於資料的內容。

一、資料的型別。

所謂的資料集通常是指一堆資料物件的集合,而所謂資料物件就是用一組刻畫物件基本特徵屬性的描述。

先來看資料物件,一組刻畫物件基本特徵屬性的描述。所謂屬性,就是指物件的性質或特性,它可以隨物件或者時間的變化而變化。對於屬性的描述我們需要根據屬性的型別來確定,最常見的屬性型別包括以下四種:

1、 標稱型。這種屬性的值僅用作區分不同物件,不存在其他任何意義,比如說名字或者ID。

2、 序數型。這種屬性的值提供了確定物件序的資訊,比如說成績或者街道號碼。

3、 區間型。這種屬性的值的差值是有意義的,比如說攝氏或者華氏溫度。

4、 比率型。這種屬性的值的差值和比率都是有意義的,比如說絕對溫度和年齡等。

其中標稱型和序數型我們通常稱為分類屬性,區間型和比率型則稱之為定量屬性。對於標稱屬性,由於其只用作區分,所以對該屬性可進行任何一對一變換都可以,而對於序數型,由於它的值包含了物件序的資訊,因此對其做變換的時候需要進行保序變換。對於區間型的屬性,由於其只有差值存在意義,所以可以對其進行任意的線性變換,而比率型的,由於其比率存在意義,所以他可以接受的變換就是同乘一個數,這樣比率的值不會變。

再來看資料集,資料集最重要的屬性就是維度、稀疏性和解析度,這幾個概念相對還是容易理解的。

維度,可以理解為資料物件屬性的數目,維度越高,往往意味著資訊濃度越高,但維度太高了之後,對於我們的計算壓力很大,所以如果面臨資料集維度過高的情況下,我們需要進行維歸約的操作。

稀疏性,對於某些資料集而言,雖然他的屬性很多,但絕大部分的屬性值都為0,我們就稱之為稀疏的。稀疏性不一定是缺點,因為我們往往只要儲存非0項就行了,比如說SVM又稱為稀疏核機。

解析度,通常是指劃分尺度的不同往往能帶來不同的結果。舉個例子,在10e-10這個量級觀察物品,你只能得到物質由分子和原子組成,但如果來到-15的量級,發現又可以分成原子核與電子,再往下走,又可以得到夸克,所以需要根據你的目的去選擇合適的解析度。

二、資料的質量

我們都知道,在資料採集的過程中,由於各種各樣的原因,會出現測量的誤差,隨機部分我們通常稱之為噪聲,而系統部分我們把它稱之為偽像。這些誤差的存在,有可能對我們的分析過程造成很大的影響。所以高質量的資料來源往往是資料探勘成功重要的先決條件,當然如果實在不行,我們也可以通過一些辦法來努力提高資料的質量,這就是我們接下來要講的資料預處理。

三、資料預處理

資料預處理的主要目的就是如上所說提高資料的質量,進而改善我們的資料探勘工作,降低成本提高效率,主要手段分為兩種:選擇分析所需的資料物件和屬性;創造或改變屬性。接下來我們依次介紹常見的幾種預處理方法。

1 聚集

聚集很容易理解,就是把相關或者類似的資料物件集合到一起,常常用在資料探索階段,比如說你參加一個客戶購買行為預測的比賽,那麼通常會給你之前一段時間的客戶行為,你具體分析每一天其實意義不大的,你通常會選擇對客戶在某個時間視窗內行為進行彙總,或者把客戶針對目標商品的操作進行一個聚合。另外,聚集還有一個功能就是可以改變資料的解析度,以適應不同目的的資料探勘工作。

2 抽樣

抽樣就是指按照一定的規律從資料集中選擇一定的資料物件來進行處理。比較常見的情況就是資料量很大,你整個處理起來很費勁,那麼你通常會抽樣一定樣本量的資料用來驗證自己模型的可行性。最常見的抽樣方法通常是隨機抽樣,但如果我們處理的資料是非對稱的,那麼通常我們要採取分層抽樣,因為隨機抽樣有可能把我們的稀疏樣本給淹沒了。

3 維歸約

維歸約的目的就是降低資料集的維度以期減少我們的計算量。最簡單的維歸約方法就是去除無效或者不相關的特徵。當然,除此之外,我們也有一些數學方法來進行降維,比如說主成分分析(PCA)和奇異值分解(SVD)。

4 特徵子集的選擇

維歸約確實幫我們去除了一部分冗餘的特徵,但很多時候冗餘的特徵並不是我們靠經驗就可以全部篩選出來的。這個時候,一方面我們依靠某些演算法計算特徵的重要程度來進行特徵的篩選,比如樹的一些演算法。另一方面如果計算資源足夠,我們可以嘗試不同的特徵組合選擇效果最好的特徵組合用於我們最後的資料探勘任務。當然,也有演算法通過賦予特徵權值的方法來進行特徵的篩選,比如說支援向量機等。

5 特徵的建立

我相信任何做資料探勘的人都會把特徵當做資料探勘中最重要的東西,說實話,合適的特徵及其組合通常比所謂更加高階的演算法要重要的多,它可以非常直觀迅速地提升你資料探勘的效果。那麼特徵的建立當然包含上面所說的一個特徵選擇的過程,此外,有的時候我們自己建立新的特徵,比如對現有特徵進行一定的處理,用現在特徵值的平方作為新的特徵,可以看到資料和目標變數之間是否存在二次關係,還有就是把資料對映到新的空間,最常見的就是傅立葉分析了,把時間譜上的資料對映到頻譜上,就可以從雜亂無序的資料中尋找到規律。

6 離散化和二元化

離散化和二元化算是日常資料探勘中最常見的手段了。首先是離散化,對於一些連續屬性我們可以根據一定的標準將它轉換成一個分類屬性,比如年齡這樣一個數值屬性,我們可以定義小於18的為未成年,小於30的年輕人,小於50的中年人,大於50的老年人。這其中需要注意的就是分類的組數和分類的標準,常見的有等寬和等頻率離散化,還是要根據實際情況進行選擇。而二元化相對就更好理解了,二分類屬性自不必說,對於對分類的屬性,可利用多個二元變數的組合來表示不同的分類情況。

7 變數變換

變數變換涉及兩種情況。一是簡單的數值變換,這裡只要考慮屬性是否是序數型的,做變換時是否需要保序,二是規範化和標準化,規範化通常是指你的演算法對變數的區間有一定的要求,所以你需要通過放縮使其落在對應的區間內,而標準化則是為了避免某些數值偏大的屬性決定結果,將資料轉換成一個均值0標準差1的新變數。

四、相似性和相異性度量

相似性和相異性是資料探勘中非常重要的衡量標準,尤其是聚類演算法和異常檢測,他們據此進行類的劃分以及異常點的判斷,接下來我們就介紹一些最常見的相似性及相異性度量。

最最最常見的莫過於距離了,有一個閩科夫斯基距離,定義為

很明顯r為2的時候就是我們最常用的歐幾里得距離,r為1的時候就是曼哈頓距離,也就是各個維度上距離之和,r趨向於無窮時,就是各維度間最大的那個距離。選擇不同範數的距離都可以作為資料相異性的標準,距離越大則相異性越大。

而相似度比較常見的有兩種,Jaccard係數和餘弦相似度。Jaccard相似度的定義為

Jaccard相似度通常用來處理非對稱的二元屬性物件,因為只針對其中稀疏的屬性,所以可以有效防止考慮兩種屬性計算相似度所有樣本都相似的情況。

由於相似度通常是落在0到1這個區間內的,所以很自然的想到用三角函式來表徵相似度,餘弦相似度定義為


兩個向量的點乘除以兩個向量的模,這樣求得的就是兩個向量夾角的餘弦值,兩個向量重合時相似度最大為1,垂直是相似度最小為0。

以上就是我們第一篇所要講的全部內容,主要涉及資料探勘的一些基本概念以及關於資料的型別、質量、預處理和相似相異性度量的內容,對於我們日後所要進行的工作以及面對的物件有一個更加直觀的認識,對資料有十分清晰的認識將讓我們在之後的資料探勘工作中如魚得水。