本篇主要講識別樹的相關知識,以如何辨別吸血鬼爲例
首先給出了一組數據
在這個數據集中,有幾個明顯的特徵
①數據全是符號,沒有數字
②特徵數據並不全部有用
③有些測試可能代價很大
所以我們無法使用最近鄰算法去確定一個有特定特徵的人是否爲吸血鬼。
我們可以建立一個測試樹進行測量,就像這樣,稱其爲識別樹
好的識別樹的標準就是代價最小
分析前面給出的數據,我們可以畫出四個測試的測試樹
+代表是吸血鬼,-代表不是,中間是測試的不同結果。
理想的測試應當將所有普通人放到一個子集中,所有吸血鬼放到一個子集中,不過顯然我們做不到這一點,但是我們可以數數四個測試中同質子集中的個體數目,從左到右依次是4、3、2、0。通過這個測試,我們可以得出結論,最好的測試是影子測試,其次是大蒜測試,再次是面色,最後是口音測試,所以我麼首選影子測試
畫出其識別樹
將影子測試爲?的內容重新進行測試
同質子集中數目分別爲4、2、0,首選打大蒜測試
於是就可以完全將普通人和吸血鬼分開。
然而對於大數據集,上面的測試就無效了,我們需要更精妙的測試,我們需要衡量這些測試在分支最低端得到的集合的無序度,從而得到一個關於測試的總體質量值,基於對無序度的測量。
數據處理學家通常用下面這條公式
D是指無序度,P指測試數據中爲證的數目,N指測試數據中爲負的數目
取兩個特例
可以得到函數的圖像
是哪個類似圓拱形的,這是一種很精妙的模型。
所以測試的總體質量可以用無序度與其權重的積求和來表示
權重用集合中測試數除於總測試數表示。
使用這個方法應用回之前的四個測試中
四個測試的無序度分別是0.5、0.6、0.7、0.95,有一些用的是估計值,仍然可以得出最好的是影子測試。
第二布同樣
可以選出大蒜測試
這個方法應用在有數值的測試中,比如上一節課的插座蓋例子中
可以得到後面這個測試界限。