2013-11-15 62 views
3

只是想澄清一件事:只要它們在不同的「分支」中,相同的屬性可以出現在決策樹中多次?可以在決策樹中多次出現「拆分屬性」?

+0

這個問題似乎是無關緊要的,因爲它是關於機器學習的。 – sashkello

+2

@sashkello有3404個問題tagged [tag:machine-learning] ... –

+0

@ Anony-Mousse所有這些都應該與編程密切相關(好吧,很多老問題可能不會)。這個問題應該去http://stats.stackexchange.com因爲它沒有編程方面。 – sashkello

回答

5

由於顯而易見的原因,在同一分支中使用相同的決定是沒有意義的。

在不同的分支上,這個推理顯然不成立。

考慮經典的XOR(x,y)問題。您可以使用雙層決策樹來解決它,但是您需要在兩個分支中的相同屬性上進行分割。

If x is true: 
    If y is true: return false 
    If y is false: return true 
If x is false: 
    If y is true: return true 
    If y is false: return false 

另一個例子如下:假設你的數據在x = [0; 1]中是正數,而在外部是負數。一棵好樹將如下:

If x > 1:  return negative 
If x <= 1: 
    If x >= 0: return positive 
    If x < 0: return negative 

這是不一樣的決定,所以它可以有意義的使用x兩次。

4
  1. 一般來說,只要保持「樹」的結構,就可以做任何你想做的事情。它們可以通過多種方式進行定製,雖然可以有冗餘,但不會削弱其有效性。

  2. 二元屬性不應在同一個早午餐中出現兩次,這將是多餘的。但是,連續的屬性可以多次出現在同一分支中。

1

如果該屬性是分類的,則不能將其用作多次拆分屬性。如果屬性是數字的,原則上可以多次使用,但是標準決策樹算法(C4.5算法)不以這種方式實現。

以下描述基於屬性都是分類的假設。

從解釋的角度來看,決策樹是可以解釋的,標記的實例如何可以通過從根到樹葉使用的屬性(以及屬性的值)來解釋。因此,在樹的一個分支中有重複的屬性是沒有意義的。

從算法的角度來看,一旦選擇屬性作爲拆分屬性,則屬性將不會再基於屬性選擇準則被選擇,例如,信息增益將爲0.這是因爲所有實例在被屬性過濾後都會具有相同的屬性值。再次使用該屬性不能爲分類帶來更多信息。