數據挖掘是從大量數據中挖掘有趣模式和知識的過程。數據源包括數據庫、數據倉庫、Web、其餘信息存儲庫或動態地流入系統的數據。算法
數據倉庫是一個從多個數據源收集的信息存儲庫,存放在一致的模式下,而且一般駐留在單個站點上。一般,數據倉庫用稱作數據立方體(data cube)的多維數據結構建模。數據庫
數據特徵化(data characterization)是目標類數據的通常特性或特徵的彙總。網絡
數據區分(data discrimination)是將目標類數據對象的通常特性與一個或多個對比類對象的通常特性進行比較。數據結構
頻繁模式(frequent pattern)是在數據中頻繁出現的模式。存在多種類型的頻繁模式,包括頻繁項集、頻繁子序列(又稱序列模式)和頻繁子結構。機器學習
頻繁項集通常是指頻繁地在事務數據集中一塊兒出現的商品的集合。如小賣部中被許多顧客頻繁地一塊兒購買的牛奶和麪包。頻繁出現的子序列,如顧客傾向於先購買便攜機,再購買數碼相機,而後再購買內存卡這樣的模式就是一個(頻繁)序列模式。子結構可能涉及不一樣的結構形式(例如,圖、樹或格),能夠與項集或子序列結合在一塊兒。若是一個子結構頻繁地出現,則稱它爲(頻繁)結構模式。函數
分類(classification)是這樣的過程,它找出描述和區分數據類或概念的模型(或函數),以便可以使用模型預測類標號未知的對象的類標號。性能
導出模型是基於對訓練數據集(即,類標號已知的數據對象)的分析。該模型用來預測類標號未知的對象的類標號。導出的模型能夠用多種形式表示,如分類規則(即IF-THEN規則)、決策樹、數學公式或神經網絡。學習
決策樹是一種相似於流程圖的樹結構,其中每一個結點表明在一個屬性值上的測試,每一個分支表明測試的一個結果,而樹葉表明類或類分佈。容易把決策樹轉換成分類規則。測試
神經網絡是一組相似於神經元的處理單元,單元之間加權鏈接。編碼
分類預測類別(離散的、無序的)標號,而迴歸創建連續值函數模型。也就是說,迴歸用來預測缺失的或難以得到的數值數據值。
相關分析(relevance analysis)可能須要在分類和迴歸以前進行,它試圖識別與分類和迴歸過程顯著相關的屬性。
數據集中可能包含一些數據對象,它們與數據的通常行爲或模型不一致。這些數據對象是離羣點(outlier)。
數據挖掘吸納了諸如統計學、機器學習、模式識別、數據庫和數據倉庫、信息檢索、可視化、算法、高性能計算和許多應用領域的大量技術。
屬性(attribute)是一個數據字段,表示數據對象的一個特徵。
用來描述一個給定對象的一組屬性稱作屬性向量(或特徵向量)。涉及一(兩)個屬性(或變量)的數據分佈稱作單(雙)變量分佈。
①標稱屬性(nominal attribute)的值是一些符號或事物的名稱。每一個值表明某種類別、編碼或狀態,所以標稱屬性又被看作是分類的(categorical)。在計算機科學中,這些值也被看作是枚舉的(enumeration)。
②二元屬性(binary attribute)是一種標稱屬性,只有兩個類別或狀態:0或1,其中0一般表示該屬性不出現,而1表示出現。二元屬性又稱布爾屬性,若是兩種狀態對應於true和false的話。
一個二元屬性是對稱的,若是它的兩種狀態具備同等價值而且攜帶相同的權重;即關於哪一個結果應該用0或1編碼並沒有偏好。
一個二元屬性是非對稱的,若是其狀態的結果不是一樣重要的。
③序數屬性(ordinal attribute)是一種屬性,其可能的值之間具備有意義的序或秩評定(ranking),可是相繼值之間的差是未知的。如成績A+、A、A1、B+等。
④數值屬性(numeric attribute)是定量的,即它是可度量的量,用整數或實數值表示。數值屬性能夠是區間標度的或比率標度的。
區間標度(interval-scaled)屬性用相等的單位尺度度量。區間屬性的值有序,能夠爲正、0或負。所以,除了值的秩評定以外,這種屬性容許咱們比較和定量評估值之間的差。例如,temperature就是區間標度的。
比率標度(ratio-scaled)屬性是具備固有零點的數值屬性。也就是說,若是度量是比率標度的,則咱們能夠說一個值是另外一個的倍數(或比率)。此外,這些值是有序的,所以咱們能夠計算值之間的差,也能計算均值、中位數和衆數。
⑤離散屬性與連續屬性。機器學習領域開發的分類算法一般把屬性分紅離散的或連續的。每種類型均可以用不一樣的方法處理。離散屬性具備有限或無限可數個值,能夠用或不用整數表示。若是屬性不是離散的,則它是連續的。
數據的一些統計描述:
①中心趨勢度量:均值、中位數和衆數。
它度量數據分佈的中部或中心位置。直觀地說,給定一個屬性,它的值大部分落在何處。
儘管均值是描述數據集的最有用的單個量,可是它並不是老是度量數據中心的最佳方法。主要問題是,均值對極端值(例如,離羣點)很敏感。爲了抵消少數極端值的影響,咱們可使用截尾均值(trimmed mean),即丟棄高低極端值後的均值。
對於傾斜(非對稱)數據,數據中心的更好度量是中位數(median)。中位數是有序數據值的中間值。它是把數據較高的一半與較低的一半分開的值。
當觀測的數量很大時,中位數的計算開銷很大。咱們能夠用插值計算整個數據集的中位數的近似值。
衆數是另外一種中心趨勢度量。數據集的衆數(mode)是集合中出現最頻繁的值。所以,能夠對定性和定量屬性肯定衆數。可能最高頻率對應多個不一樣值,致使多個衆數。具備一個、兩個、三個衆數的數據集合分別稱爲單峯的(unimodal)、雙峯的(bimodal)和三峯的(trimodal)。若是每一個數據值僅出現一次,則它沒有衆數。
在大部分實際應用中,數據都是不對稱的。它們多是正傾斜的,其中衆數出如今小於中位數的值上;或者是負傾斜的,其中衆數出如今大於中位數的值上。
②度量數據散佈:極差、四分位數、方差、標準差和四分位數極差、五數歸納、盒圖與離羣點
分位數(quantile)是取自數據分佈的每隔必定間隔上的點,把數據劃分紅基本上大小相等的連貫集合。
第1個和第3個四分位數之間的距離是散佈的一種簡單度量,它給出被數據的中間一半所覆蓋的範圍。該距離稱爲
由於Q一、中位數和Q3不包含數據的端點(例如尾)信息,分佈形狀的更完整的歸納能夠經過同時也提供最高和最低數據值獲得。這稱作五數歸納。分佈的五數歸納(five-number summary)由中位數(Q2)、四分位數Q1和Q三、最小和最大觀測值組成,按次序Minimum,Q1,Median,Q3,Maximum寫出。
盒圖(boxplot)是一種流行的分佈的直觀表示。盒圖體現了五數歸納:
盒的端點通常在四分位數上,使得盒的長度是四分位數極差IQR。
中位數用盒內的線標記。
盒外的兩條線(稱作鬍鬚)延伸到最小(Minimum)和最大(Maximum)觀測值。
當處理數量適中的觀測值時,值得個別地繪出可能的離羣點。在盒圖中這樣作:僅當最高和最低觀測值超過四分位數不到1.5×lQR時,鬍鬚擴展到它們。不然,鬍鬚在出如今四分位數的1.5×IQR以內的最極端的觀測值處終止,剩下的狀況個別地繪出。盒圖能夠用來比較若干個可比較的數據集。
對於部門1,咱們看到銷售商品單價的中位數是80美圓,Q1是60美圓,Q3是100美圓。注意,該部門的兩個邊遠的觀測值被個別地繪出,由於它們的值175和202都超過IQR的1.5倍,這裏IQR=40。
盒圖能夠在$O(n \log n)$
數據矩陣:存放n個對象的p個屬性。$$\left[\begin{array}{ccccc}{x_{11}} & {\cdots} & {x_{1 f}} & {\cdots} & {x_{1 p}} \\ {\cdots} & {\cdots} & {\cdots} & {\cdots} & {\cdots} \\ {x_{i 1}} & {\cdots} & {x_{i f}} & {\cdots} & {x_{i p}} \\ {\cdots} & {\cdots} & {\cdots} & {\cdots} & {\cdots} \\ {x_{n 1}} & {\cdots} & {x_{n f}} & {\cdots} & {x_{n p}}\end{array}\right]$$
相異性矩陣:存放n個對象兩兩之間的鄰近度。$$\left[\begin{array}{ccccc}{0} \\ {d(2,1)} & {0} \\ {d(3,1)} & {d(3,2)} & {0} \\ {\vdots} & {\vdots} & {\vdots} \\ {d(n, 1)} & {d(n, 2)} & {\cdots} & {\cdots} & {0}\end{array}\right]$$
$d(i,j)$是對象i和對象j之間的相異性或「差異」的度量。對象$i$和$j$彼此高度類似或「接近」時,其值接近於0;而越不一樣,該值越大。
數據矩陣常常被稱爲二模(two-mode)矩陣。相異性矩陣只包含一類實體,所以被稱爲單模(one-mode)矩陣。許多聚類和最近鄰算法都在相異性矩陣上運行。
類似性度量能夠表示成相異性度量的函數。$\operatorname{sim}(i, j)=1-d(i, j)$
標稱屬性能夠取兩個或多個狀態,如顏色能夠有5種狀態:紅、黃、綠、粉紅和藍。
設一個標稱屬性的狀態數目是M。這些狀態能夠用字母、符號或者一組整數(如1,2,…,M)表示。
兩個對象i和i之間的相異性能夠根據不匹配率來計算:$$d(i, j)=\frac{p-m}{p}$$
或者類似性爲:$$\operatorname{sim}(i, j)=1-d(i, j)=\frac{m}{p}$$
其中,m是匹配的數目(即i和i取值相同狀態的屬性數),而p是刻畫對象的屬性總數。
例子:
假設只有對象標識符和屬性$test-1$是可用的,其中$test-1$是標稱的,計算相異性矩陣:咱們令p=1,使得當對象$i$和$j$匹配時,$d(i,j)$=0;當對象不一樣時,$d(i,j)$=1。因而,咱們獲得相異性矩陣$$\left[\begin{array}{llll}{0} & {} & {} \\ {1} & {0} & {} \\ {1} & {1} & {0} \\ {0} & {1} & {1} & {0}\end{array}\right]$$
能夠看出除了對象1和4以外,全部對象都互不類似。
經過列聯表來計算兩個二元屬性之間的相異性:
由給定的二元數據計算相異性矩陣。若是全部的二元都被看作具備相同的權重,則咱們獲得一個兩行兩列的列聯表:
其中,$q$是對象$i$和$i$都取1的屬性數;
$r$是在對象$i$中取一、在對象$j$中取0的屬性數;
$s$是在對象$i$中取0、在對象$j$中取1的屬性數;
$t$是對象$i$和$j$都取0的屬性數。
屬性的總數是$p$,其中$p=g+r+s+t$。
基於對稱二元屬性的相異性稱作對稱的二元相異性。若是對象$i$和$j$都用對稱的二元屬性刻畫,則$i$和$j$的相異性爲$$d(i, j)=\frac{r+s}{q+r+s+t}$$
對於非對稱的二元屬性,兩個狀態不是同等重要的。給定兩個非對稱的二元屬性,兩個都取值1的狀況(正匹配)被認爲比兩個都取值0的狀況(負匹配)更有意義。所以,這樣的二元屬性常常被認爲是「一元的」(只有一種狀態)。基於這種屬性的相異性被稱爲非對稱的二元相異性,其中負匹配數t被認爲是不重要的,所以在計算時被忽略$$d(i, j)=\frac{r+s}{q+r+s}$$
而對應的非對稱的二元類似性能夠表示爲$\operatorname{sim}(i, j)=\frac{q}{q+r+s}=1-d(i, j)$,$\operatorname{sim}(i, j)$被稱作$Jaccard$係數,
例子:
name是對象標識符,gender是對稱屬性,其他的屬性都是非對稱二元的。
對於非對稱屬性,值Y(yes)和P(positive)被設置爲1,值N(no或negative)被設置爲0。
$Jack$、$Mary$和$Jim$兩兩之間的距離以下:$$\begin{aligned} d(\text { Jack, }, \text { Jim }) &=\frac{1+1}{1+1+1}=0.67 \\ d(\text { Jack, Mary }) &=\frac{0+1}{2+0+1}=0.33 \\ d(\text { Jim }, \text { Mary }) &=\frac{1+2}{1+1+2}=0.75 \end{aligned}$$
由於具備最高的相異性,因此$Jim$和$Mary$不大可能患相似的疾病。而$Jack$和$Mary$最可能患相似的疾病。
計算數值屬性刻畫的對象的相異性的距離度量以下:
用p個屬性來表示n個樣本的數據矩陣:$$\left[\begin{array}{ccc}{x_{11}} & {\cdots} & {x_{1 p}} \\ {\vdots} & {} & {\vdots} \\ {x_{n 1}} & {\cdots} & {x_{n p}}\end{array}\right]$$
歐幾里得距離的計算公式爲:$$d(i, j)=\sqrt{\left(x_{i 1}-x_{j 1}\right)^{2}+\left(x_{i 2}-x_{j 2}\right)^{2}+\cdots+\left(x_{i p}-x_{j p}\right)^{2}}$$
$i=\left(x_{i 1}, x_{i 2}, \cdots, x_{i p}\right)$和$j=\left(x_{j 1}, x_{j 2}, \cdots, x_{j p}\right)$是兩個被p個數值屬性描述的對象,歐幾里得距離即這兩個對象的直線距離。
曼哈頓距離的計算公式爲:$$d(i, j)=\left|x_{i+}-x_{j 1}\right|+\left|x_{2}-x_{j 2}\right|+\cdots+\left|x_{i p}-x_{i p}\right|$$
曼哈頓距離又稱城市塊距離,表示城市兩點之間的街區距離。如圖:
圖中紅線表明曼哈頓距離,綠線表明歐氏距離,也就是直線距離,而藍色和黃色表明等價的曼哈頓距離。
閔可夫斯基距離是以上兩個距離的推廣的計算公式爲:$$d(i, j)=\sqrt[q]{\left|\left(x_{i 1}-x_{j 1} |\right)^{q}+\left(\left|x_{i 2}-x_{j 2}\right|\right)^{q}+\cdots+\left(\left|x_{i p}-x_{j p}\right|\right)^{q}\right.}$$
q爲正整數,q=1時爲曼哈頓距離;q=2時爲歐幾里得距離。
上確界距離(又稱切比雪夫(Chebyshev)距離)是h→oo時閔可夫斯基距離的推廣。$$d(i, j)=\lim _{h \rightarrow \infty}\left(\sum_{f=1}^{p}\left|x_{i f}-x_{i f}\right|^{h}\right)^{\frac{1}{h}}=\max _{f}\left|x_{i f}-x_{i f}\right|$$
如何計算混合屬性類型的對象之間的相異性?將不一樣的屬性組合在單個相異性矩陣中,把全部有意義的屬性轉換到共同的區間[0.0,1.0]上
假設數據集包含$p$個混合類型的屬性,對象$i$和$j$之間的相異性$d(i,j)$定義爲:$$d(i, j)=\frac{\sum_{f=1}^{p} \delta_{i j}^{(f)} d_{i j}^{(f)}}{\sum_{f=1}^{p} \delta_{i j}^{(f)}}$$
例子:
根據數值屬性的規則,咱們令${\max _h}{x_h} = 64,{\min _h}{x_h} = 22$。兩者之差用來規格化相異性矩陣的值。結果,$test-3$的相異性矩陣爲:$$\left[\begin{array}{llll}{0} & {} & {} & {} \\ {0.55} & {0} & {} & {} \\ {0.45} & {1.00} & {0} & {} \\ {0.40} & {0.14} & {0.86} & {0}\end{array}\right]$$
能夠獲得:$d(3,1)=\frac{1(1)+1(0.5)+1(0.45)}{3}=0.65$。由三個混合類型的屬性所描述的數據獲得的結果相異性矩陣以下:$$\left[\begin{array}{llll}{0} & {} & {} & {} \\ {0.85} & {0} & {} & {} \\ {0.65} & {0.83} & {0} & {} \\ {0.13} & {0.71} & {0.79} & {0}\end{array}\right]$$
基於對象1和對象4在屬性test-1和test-2上的值,咱們能夠直觀地猜想出它們兩個最類似。這一猜想經過相異性矩陣獲得了印證,由於$d(4,1)$是任何兩個不一樣對象的最小值。相似地,相異性矩陣代表對象2和對象4最不類似。
詞頻向量的引入:文檔用數以千計的屬性表示,每一個記錄文檔中一個特定詞(如關鍵詞)或短語的頻度。這樣,每一個文檔都被一個所謂的詞頻向量(term-frequency vector)表示。並且,詞頻向量一般很長,而且是稀疏的(即,它們有許多0值)。咱們想要探索兩個文檔共有的詞和詞頻,就須要忽略0匹配的數據。可是由於數據的稀疏性,傳統的距離度量效果很差,便引入了餘弦類似性。
餘弦類似性:餘弦類似性是一種度量,它能夠用來比較文檔,或針對給定的查詢詞向量對文檔排序。令$x$和$y$是兩個待比較的向量,使用餘弦度量做爲類似性函數。$$\operatorname{sim}(x, y)=\frac{x \cdot y}{\|x\|\|y\|}$$
餘弦值0意味兩個向量呈90°夾角(正交),沒有匹配。餘弦值越接近於1,夾角越小,向量之間的匹配越大。
當屬性是二值屬性時,餘弦類似性函數能夠用共享特徵或屬性解釋。$$\operatorname{sim}(x, y)=\frac{x \cdot y}{x \cdot x+y \cdot y-x \cdot y}$$
這是$x$和$y$所共有的屬性個數與x或y所具備的屬性個數之間的比率。這個函數被稱爲$Tanimoto$係數或$Tanimoto$距離,它常常用在信息檢索和生物學分類中。
例子:
$x=(5,0,3,0,2,0,0,2,0,0)$和$y=(3,0,2,0,1,1,0,1,0,1)$,計算這兩個向量之間的餘弦類似性。$$\begin{array}{l}{x \cdot y=5 \times 3+0 \times 0+3 \times 2+0 \times 0+2 \times 1+0 \times 1+0 \times 0+2 \times 1+0 \times 0+0 \times 1=25} \\ {\|x\|=\sqrt{5^{2}+0^{2}+3^{2}+0^{2}+2^{2}+0^{2}+0^{2}+2^{2}+0^{2}+0^{2}}=6.48} \\ {\|y\|=\sqrt{3^{2}+0^{2}+2^{2}+0^{2}+1^{2}+1^{2}+0^{2}+1^{2}+0^{2}+1^{2}}=4.12} \\ {\operatorname{sim}(x, y)=0.94}\end{array}$$
因此,這兩個文檔被認爲是高度類似的。