- 該博客爲數據挖掘系列博客的第三部分的第一小節:分類過程。
- 該博客主要介紹分類算法的通用流程和相關的評價方法和評價指標。
分類概述
- 分類的目的是建立分類模型(分類器),並利用分類模型預測未知類別數據對象的所屬類別。
- 分類任務就是通過學習得到一個目標函數 (即分類模型),把每個數據集 映射到一個預先定義的類別 ,即 。
- 分類過程分爲兩個階段:學習階段與分類階段
學習階段
- 學習階段是通過分析由已知類別數據對象組成的訓練數據集,建立描述並區分數據對象類別的分類函數或分類模型。該模型不僅能很好地擬合訓練樣本,還能正確地預測或分類新樣本。
- 學習階段又分爲訓練和測試兩部分。在構造分類模型之前,需要先將數據集隨機地分爲訓練數據集和測試數據集。
訓練:建立模型
- 在訓練部分使用訓練數據集,通過分析由屬性所描述的數據集來構建分類模型。
- 假定訓練數據集是關係數據表 ,每個訓練樣本由 個屬性描述,其中有且僅有一個屬性稱爲類別屬性,其他爲條件屬性。屬性集合表示爲 ,其中 對應描述屬性(條件屬性),可以具有不同的值域,當一個屬性的值域爲連續域時,該屬性稱爲連續屬性,否則稱爲離散屬性; 表示類別屬性,,即訓練數據集有 個不同的類別。
測試:評估模型
- 對於一般分類問題,有訓練誤差、泛化誤差、準確率、錯誤率等指標。
- 對於常見的二分類問題,樣本只有兩種分類結果。將其定義爲正例與反例。那麼在進行分類時,對於一個樣本,可能出現的情況共有四種:
- 樣本爲正例,被分類爲正例,稱爲真正類(TP)
- 樣本爲正例,被分類爲反例,記爲假反類(FN)
- 樣本爲反例,被分類爲正例,記爲假正類(FP)
- 樣本爲反例,被分類爲反例,記爲真反類(TN)
評價指標
- 準確率(accuracy):
模型正確分類的樣本數(包括正例與反例)與樣本總數的比值
- 精確率(precision):
模型正確分類的正例樣本數與總的正例樣本總數的比值
- 召回率(recall):
也稱查全率,模型正確分類的正例樣本數與真正的正例樣本總數的比值
- F值(F-Score):
精確率和召回率的調和平均
其中 爲調和參數值,當 取值爲1時,F值就是最常見的 值。
- 受試者工作特徵曲線(ROC Curve):
- 假設檢驗集中共有20個樣本,每個樣本爲正類或反類,根據分類算法模型可以得到每個樣本屬於正類的概率,將樣本按照此概率由高到低排列。
- ROC曲線下的面積稱爲 AUC(Area Under Curve),AUC值越大,表示分類模型的預測準確性越高;ROC曲線越光滑,一般代表過擬合現象越輕。
- 假設檢驗集中共有20個樣本,每個樣本爲正類或反類,根據分類算法模型可以得到每個樣本屬於正類的概率,將樣本按照此概率由高到低排列。
評價方法
- 保留法將樣本集按照一定比例劃分爲訓練集和測試集兩個集合,兩個集合中樣本隨機分配且不重疊。對於比例的確定,一般情況下,訓練集會大於測試集,常用的如七三開,具體比例可結合實際情況進行判定。
- 蒙特卡洛交叉驗證法,也稱重複隨機二次採樣驗證,這種驗證方法隨機地將數據集劃分爲訓練集和測試集,使用測試集檢驗訓練集訓練的模型效果。多次重複此過程並取平均值作爲模型好壞的評價標準。蒙特卡洛交叉驗證法也可以看做是多次進行保留法。
- K折交叉驗證法將樣本集隨機地劃分成 個大小相等的子集,在每一輪交叉驗證中,選擇一個子集作爲測試集,其餘作爲訓練集,重複 輪,保證每一個子集都作爲測試集出現,用 輪檢驗結果取平均值作爲模型好壞的評價標準。最常用的 則交叉驗證法爲十折交叉驗證。
- 留一法指每次測試集只包含一個樣本的交叉驗證方法。
- 留p法是每次使用 個樣本作爲測試集的交叉驗證方法。
- 自助法是統計學中的一種有放回均勻抽樣方法,即從一個大小爲 的樣本數據集 中構建一個大小爲 的訓練樣本集 。需要進行 次抽取,每次均可能抽取到 個樣本中的任何一個。 次抽取之後,剩餘的未被抽取到的樣本構成測試集。
分類階段
分類階段的主要任務就是利用分類模型對未知類別的新樣本進行分類。
- 通過數據預處理產生滿足分類模型要求的待分類的新樣本。通常分類階段採用的數據預處理方法應與建立分類模型時採用的預處理方法一致。
- 然後載入預處理後的新樣本通過分類模型產生分類結果。