2013-03-26 14 views

回答

3

對於連續數據,C4.5使用閾值,其中小於閾值的所有內容都位於左側節點中,並且大於閾值的所有內容都位於右側節點中。問題是如何根據您提供的數據創建閾值。訣竅是按升序對連續變量進行排序。然後遍歷數據成員之間的數據挑選閾值。例如,如果屬性x的數據爲:

0.5, 1.2, 3.4, 5.4, 6.0 

您首先在0.5和1.2之間選擇一個閾值。在這種情況下,我們可以使用平均值:0.85。現在計算您的雜質:

H(x < 0.85) = H(s) - l/N * H(x<0.85) - r/N * H(x>0.85). 

,其中L是左節點的樣本數,r是在正確的節點的樣本數,N爲樣本的節點被分割的總數。在我們上面的例子中,x> 0.85作爲分割,那麼l = 1,r = 4,N = 5。記住計算出來的雜質差異,現在計算它在2和3之間的分割(即x> 2.3)。對每個分割重複這個(即n-1分割)。然後選擇最小化H的分割。這意味着你的分裂應該更純粹而不是分裂。如果無法提高結果節點的純度,請不要分割它。您還可以擁有最小節點大小,這樣您就不會在左側或右側節點中只包含一個樣本。