2016-09-14 103 views
0

我有一個利潤作爲目標變量和約100個不同的預測變量(一些二進制,一些連續的和一些字符)的數據集。使用決策樹來最大化連續變量如利潤

R中是否有一個決策樹軟件包,可以使用這個軟件包,它可以爲桶(或終端節點)提供利潤最大化(最好> 0)?

目前我一直在使用partykit包中的ctree。被分割的樹總是在預測變量上給出好的分割,但是末端節點總是導致負利潤。

我也很難理解節點端的結果。這些往往是'N ='和'錯誤='。有什麼方法可以獲得'利潤=',以便您可以看到最好的最終節點是什麼?

非常感謝,

回答

0

簡單的事情,第一:瞭解在每個終端節點打印結果。考慮以下簡單的(不是特別有用)ctree該模型停止dist ANCE的cars如何依賴於他們的speed

library("partykit") 
ctree(dist ~ speed, data = cars) 
## 
## Model formula: 
## dist ~ speed 
## 
## Fitted party: 
## [1] root 
## | [2] speed <= 17 
## | | [3] speed <= 12: 18.200 (n = 15, err = 1176.4) 
## | | [4] speed > 12: 39.750 (n = 16, err = 3535.0) 
## | [5] speed > 17: 65.263 (n = 19, err = 9015.7) 
## 
## Number of inner nodes: 2 
## Number of terminal nodes: 3 

這意味着,例如,在節點5有其平均停止dist19觀察與speed > 17 ance爲65.263,對應於err9015.7的平方和。

因此,首先給出目標變量的均值(在nerr之前),並且是您最感興趣的。爲了最大化目標變量,您可以選擇具有最高預測均值的終端節點。

最後,我不知道直接致力於利潤最大化的樹方法。標準樹方法試圖以某種方式找到同質的終端節點。 (這裏的平均目標值近似不變)。

+0

理想情況下,我想要一個場景,當一個特定的變量,5個屬性被拆分時。決策樹總結每個排列中的利潤,並將變量分成兩個桶,其中總和利潤的差異最大。有沒有這樣的功能? – Tammboy

+0

然後循環遍歷每個變量以找到利潤最大化的變量。這將成爲節點1 ... – Tammboy

+0

這需要更精確地提出以獲得可靠的答案。標準迴歸樹可能非常接近你想要做的 - 但也可能它是非常不同的。目前我不確定。 –