分類器

分類器

分類是數據挖掘的一種非常重要的方法。分類的概念是在已有數據的基礎上學會一個分類函式或構造出一個分類模型(即我們通常所說的分類器(Classifier))。該函式或模型能夠把資料庫中的數據紀錄映射到給定類別中的某一個,從而可以套用於數據預測。總之,分類器是數據挖掘中對樣本進行分類的方法的統稱,包含決策樹、邏輯回歸、樸素貝葉斯、神經網路等算法。

分類器的構造和實施

分類器的構造和實施大體會經過以下幾個步驟:

•選定樣本(包含正樣本和負樣本),將所有樣本分成訓練樣本和測試樣本兩部分。

•在訓練樣本上執行分類器算法,生成分類模型。

•在測試樣本上執行分類模型,生成預測結果。

•根據預測結果,計算必要的評估指標,評估分類模型的性能。

幾種基本的分類器

1.決策樹分類器
提供一個屬性集合,決策樹通過在屬性集的基礎上作出一系列的決策,將數據分類。這個過程類似於通過一個植物的特徵來辨認植物。可以套用這樣的分類器來判定某人的信用程度,比如,一個決策樹可能會斷定“一個有家、擁有一輛價值在1.5 萬到2.3 萬美元之間的轎車、有兩個孩子的人”擁有良好的信用。決策樹生成器從一個“訓練集”中生成決策樹。SGI 公司的數據挖掘工具MineSet 所提供的可視化工具使用樹圖來顯示決策樹分類器的結構,在圖中,每一個決策用樹的一個節點來表示。圖形化的表示方法可以幫助用戶理解分類算法,提供對數據的有價值的觀察視角。生成的分類器可用於對數據的分類。
2. 選擇樹分類器
選擇樹分類器使用與決策樹分類器相似的技術對數據進行分類。與決策樹不同的是,選擇樹中包含特殊的選擇節點,選擇節點有多個分支。比如,在一棵用於區分汽車產地的選擇樹中的一個選擇節點可以選擇馬力、汽缸數目或汽車重量等作為信息屬性。在決策樹中,一個節點一次最多可以選取一個屬性作為考慮對象。在選擇樹中進行分類時,可以綜合考慮多種情況。選擇樹通常比決策樹更準確,但是也大得多。選擇樹生成器使用與決策樹生成器生成決策樹同樣的算法從訓練集中生成選擇樹。MineSet 的可視化工具使用選擇樹圖來顯示選擇樹。樹圖可以幫助用戶理解分類器,發現哪個屬性在決定標籤屬性值時更重要。同樣可以用於對數據進行分類。
3. 證據分類器
證據分類器通過檢查在給定一個屬性的基礎上某個特定的結果發生的可能性來對數據進行分類。比如,它可能作出判斷,一個擁有一輛價值在1.5 萬到2.3 萬美元之間的轎車的人有70 %的可能是信用良好的,而有30 %的可能是信用很差。分類器在一個簡單的機率模型的基礎上,使用最大的機率值來對數據進行分類預測。與決策樹分類器類似,生成器從訓練集中生成證據分類器。MineSet 的可視化工具使用證據圖來顯示分類器,證據圖由一系列描述不同的機率值的餅圖組成。證據圖可以幫助用戶理解分類算法,提供對數據的深入洞察,幫助用戶回答像“如果... 怎么樣" 一類的問題。同樣可以用於對數據進行分類。

分類器的準確度評估方法

影響一個分類器錯誤率的因素 (1)、訓練集的記錄數量。生成器要利用訓練集進行學習,因而訓練集越大,分類器也就越可靠。然而,訓練集越大,生成器構造分類器的時間也就越長。錯誤率改善情況隨訓練集規模的增大而降低。 (2)、屬性的數目。更多的屬性數目對於生成器而言意味著要計算更多的組合,使得生成器難度增大,需要的時間也更長。有時隨機的關係會將生成器引入歧途,結果可能構造出不夠準確的分類器(這在技術上被稱為過分擬合)。因此,如果我們通過常識可以確認某個屬性與目標無關,則將它從訓練集中移走。 (3)、屬性中的信息。有時生成器不能從屬性中獲取足夠的信息來正確、低錯誤率地預測標籤(如試圖根據某人眼睛的顏色來決定他的收入)。加入其他的屬性(如職業、每周工作小時數和年齡),可以降低錯誤率。 (4)、待預測記錄的分布。如果待預測記錄來自不同於訓練集中記錄的分布,那么錯誤率有可能很高。比如如果你從包含家用轎車數據的訓練集中構造出分類器,那么試圖用它來對包含許多運動用車輛的記錄進行分類可能沒多大用途,因為數據屬性值的分布可能是有很大差別的。

評估方法

有兩種方法可以用於對分類器的錯誤率進行評估,它們都假定待預測記錄和訓練集取 自同樣的樣本分布。 (1) 保留方法(Holdout):記錄集中的一部分(通常是2/3)作為訓練集,保留剩餘的部分用作測試集。生成器使用2/3 的數據來構造分類器,然後使用這個分類器來對測試集進行分類,得出的錯誤率就是評估錯誤率。雖然這種方法速度快,但由於僅使用2/3 的數據來構造分類器,因此它沒有充分利用所有的數據來進行學習。如果使用所有的數據,那么可能構造出更精確的分類器。 (2) 交叉糾錯方法(Cross validation):數據集被分成k 個沒有交叉數據的子集,所有子集的大小大致相同。生成器訓練和測試共k 次;每一次,生成器使用去除一個子集的剩餘數據作為訓練集,然後在被去除的子集上進行測試。把所有得到的錯誤率的平均值作為評估錯誤率。交叉糾錯法可以被重複多次(t),對於一個t 次k 分的交叉糾錯法,k *t 個分類器被構造並被評估,這意味著交叉糾錯法的時間是分類器構造時間的k *t 倍。增加重複的次數意味著運行時間的增長和錯誤率評估的改善。我們可以對k 的值進行調整,將它減少到3 或5,這樣可以縮短運行時間。然而,減小訓練集有可能使評估產生更大的偏差。通常Holdout 評估方法被用在最初試驗性的場合,或者多於5000 條記錄的數據集;交叉糾錯法被用於建立最終的分類器,或者很小的數據集。

1.

影響一個分類器錯誤率的因素 (1)、訓練集的記錄數量。生成器要利用訓練集進行學習,因而訓練集越大,分類器也就越可靠。然而,訓練集越大,生成器構造分類器的時間也就越長。錯誤率改善情況隨訓練集規模的增大而降低。 (2)、屬性的數目。更多的屬性數目對於生成器而言意味著要計算更多的組合,使得生成器難度增大,需要的時間也更長。有時隨機的關係會將生成器引入歧途,結果可能構造出不夠準確的分類器(這在技術上被稱為過分擬合)。因此,如果我們通過常識可以確認某個屬性與目標無關,則將它從訓練集中移走。 (3)、屬性中的信息。有時生成器不能從屬性中獲取足夠的信息來正確、低錯誤率地預測標籤(如試圖根據某人眼睛的顏色來決定他的收入)。加入其他的屬性(如職業、每周工作小時數和年齡),可以降低錯誤率。 (4)、待預測記錄的分布。如果待預測記錄來自不同於訓練集中記錄的分布,那么錯誤率有可能很高。比如如果你從包含家用轎車數據的訓練集中構造出分類器,那么試圖用它來對包含許多運動用車輛的記錄進行分類可能沒多大用途,因為數據屬性值的分布可能是有很大差別的。

2.

評估方法

有兩種方法可以用於對分類器的錯誤率進行評估,它們都假定待預測記錄和訓練集取 自同樣的樣本分布。 (1) 保留方法(Holdout):記錄集中的一部分(通常是2/3)作為訓練集,保留剩餘的部分用作測試集。生成器使用2/3 的數據來構造分類器,然後使用這個分類器來對測試集進行分類,得出的錯誤率就是評估錯誤率。雖然這種方法速度快,但由於僅使用2/3 的數據來構造分類器,因此它沒有充分利用所有的數據來進行學習。如果使用所有的數據,那么可能構造出更精確的分類器。 (2) 交叉糾錯方法(Cross validation):數據集被分成k 個沒有交叉數據的子集,所有子集的大小大致相同。生成器訓練和測試共k 次;每一次,生成器使用去除一個子集的剩餘數據作為訓練集,然後在被去除的子集上進行測試。把所有得到的錯誤率的平均值作為評估錯誤率。交叉糾錯法可以被重複多次(t),對於一個t 次k 分的交叉糾錯法,k *t 個分類器被構造並被評估,這意味著交叉糾錯法的時間是分類器構造時間的k *t 倍。增加重複的次數意味著運行時間的增長和錯誤率評估的改善。我們可以對k 的值進行調整,將它減少到3 或5,這樣可以縮短運行時間。然而,減小訓練集有可能使評估產生更大的偏差。通常Holdout 評估方法被用在最初試驗性的場合,或者多於5000 條記錄的數據集;交叉糾錯法被用於建立最終的分類器,或者很小的數據集。

相關詞條

相關搜尋

熱門詞條

聯絡我們