數據挖掘(理論):分類和聚合

一,分類

一,KNN(K-臨近)算法

算法思想

通過計算每個訓練樣例到待分類樣品的距離,取和待分類樣品距離最近的K個訓練樣例,K個樣品中哪個類別的訓練樣例佔多數,則待分類元組就屬於哪個類別。

算法步驟

step1: 遍歷X_train中的所有樣本,計算每個樣本與X_test的距離,並把距離保存在Distance數組中。
step2: 對Distance數組進行排序,取距離最近的k個點,記爲X_knn。
step3: 在X_knn中統計每個類別的個數,即class0在X_knn中有幾個樣本,class1在X_knn中有幾個樣本等。
step4: 待標記樣本的類別,就是在X_knn中樣本個數最多的那個類別。

算法參數

  • k值越大,模型的偏差越大,對噪聲數據越不敏感,當k值很大時,可能造成欠擬合;
  • k值越小,模型的方差就會越大,當k值太小,就會造成過擬合。

算法優缺點

優點:精度高、對異常值不敏感、無數據輸入假定;

缺點:計算複雜度高、空間複雜度高;

二,貝葉斯分類算法

算法公式

算法思想

對於給出的待分類項,求解在此項出現的條件下各個類別出現的概率,哪個最大,就認爲此待分類項屬於哪個類別。

算法步驟

(1)準備工作階段,這個階段的任務是爲樸素貝葉斯分類做必要的準備。
(2)分類器訓練階段,這個階段的任務就是生成分類器。
(3)應用階段,這個階段的任務是使用分類器對待分類項進行分類。

算法優缺點

優點:簡單、高效、健壯。面對孤立的噪聲點,樸素貝葉斯分類器是健壯的,因爲在從數據中估計條件概率時,這些點被平均,另外樸素貝葉斯分類器也可以處理屬性值遺漏問題。而面對無關屬性,該分類器依然是健壯的,因爲如果Xi是無關屬性,那麼PXiY)幾乎變成了均勻分佈,Xi的類條件概率不會對總的後驗概率的計算產生影響。

缺點:相關屬性可能會降低樸素貝葉斯分類器的性能,因爲對這些屬性,條件獨立的假設已不成立。

三,SVM(支持向量機)

算法思想

與分類器平行的兩個平面,此兩個平面能很好地分開兩類不同的數據,且穿越兩類數據區域集中的點,現在欲尋找最佳超幾何分隔平面使之與兩個平面間的距離最大,如此便能實現分類總誤差最小。

理論支持

算法特點

1SVM學習問題可以表示爲凸優化問題,因此可以利用已知的有效算法發現目標函數的全局最小值。而其他的分類方法(如基於規則的分類器和人工神經網絡)都採用一種基於貪心學習的策略來搜索假設空間,這種方法一般只能獲得局部最優解。

2SVM通過最大化決策邊界的邊緣來控制模型的能力。儘管如此,用戶必須提供其他參數,如使用的核函數類型,爲了引入鬆弛變量所需的代價函數C等,當然一些SVM工具都會有默認設置,一般選擇默認的設置就可以了.

3)通過對數據中每個分類屬性值引入一個亞變量,SVM可以應用於分類數據。例如,如果婚姻狀況有三個值(單身,已婚,離異),可以對每一個屬性值引入一個二元變量。

四,決策樹

算法思想

決策樹是一種監督式的學習方法,產生一種類似流程圖的樹結構。決策樹對數據進行處理是利用歸納算法產生分類規則和決策樹,再對新數據進行預測分析。樹的終端節點葉子節點(leaf nodes,表示分類結果的類別(class),每個內部節點表示一個變量的測試,分枝(branch)爲測試輸出,代表變量的一個可能數值。爲達到分類目的,變量值在數據上測試,每一條路徑代表一個分類規則。

算法步驟

類似關聯的FP-Growth算法,訓練畫出來樹,然後根據測試數據計算,比例大的爲預測結果

算法特點

決策樹最爲顯著的優點在於,利用它來解釋一個受訓模型是非常容易的,而且算法將最爲重要的判斷因素都很好地安排在了靠近樹根部位置。這意味着,決策樹不僅對分類很有價值,而且對決策過程的解釋也很有幫助。像貝葉斯分類器一樣,可以通過觀察內部結構來理解它的工作方式,同時這也有助於在分類過程之外進一步作出其他的決策。

與貝葉斯決策樹相比,決策樹的主要優點是它能夠很容易地處理變量之間的相互影響。一個用決策樹構建的垃圾郵件過濾器可以很容易的判斷出:onlie “pharmacy” 在分開時並不代表垃圾信息,但當它們組合在一起時則爲垃圾信息。

二,聚合

將物理或抽象對象的集合分成由類似的對象組成的多個類或簇的過程被稱爲聚類

一,K-meas

算法原理

首先隨機從數據集中選取 K個點,每個點初始地代表每個簇的聚類中心,然後計算剩餘各個樣本到聚類中心的距離,將它賦給最近的簇,接着重新計算每一簇的平均值,整個過程不斷重複,如果相鄰兩次調整沒有明顯變化,說明數據聚類形成的簇已經收斂。

算法步驟

1)從n個數據對象任意選擇k個對象作爲初始聚類中心。

2)循環第(3)步到第(4)步直到每個聚類不再發生變化爲止。

3)根據每個聚類對象的均值(中心對象),計算每個對象與這些中心對象的距離;並根據最小距離重新對相應對象進行劃分。

(4)重新計算每個聚類的均值(中心對象),直到聚類中心不再變化。這種劃分使得下式最小:

算法特點

1)在 K-means 算法中 K 是事先給定的,這個 K 值的選定是非常難以估計的。

2)在 K-means 算法中,首先需要根據初始聚類中心來確定一個初始劃分,然後對初始劃分進行優化。

3 K-means算法需要不斷地進行樣本分類調整,不斷地計算調整後的新的聚類中心,因此當數據量非常大時,算法的時間開銷是非常大的。

4K-means算法對一些離散點和初始K值敏感,不同的距離初始值對同樣的數據樣本可能得到不同的結果。

二,層次聚類

層次聚類的合併算法通過計算兩類數據點間的相似性,對所有數據點中最爲相似的兩個數據點進行組合,並反覆迭代這一過程。簡單的說層次聚類的合併算法是通過計算每一個類別的數據點與所有數據點之間的距離來確定它們之間的相似性,距離越小,相似度越高。並將距離最近的兩個數據點或類別進行組合,生成聚類樹。

層次聚類算法是通過將數據組織爲若干組並形成一個相應的樹來進行聚類的。在實際應用中一般有兩種層次聚類方法。上圖描述了一個凝聚層次聚類方法AGENES和一個分裂層次聚類方法DIANA在一個包括五個對象的數據的集合{a,b,c,d,e}上的處理的過程

計算距離,通過給定的不同距離,可以得到不同的分類

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章