2016-09-14 6 views
0

私は目標変数として利益を、そして約100の異なる予測変数(バイナリ、連続、ある種の文字)を持つデータセットを持っています。意思決定ツリーを使用して利益のような連続変数を最大化する

利益が最大化された(そして、好ましくは> 0)バケット(またはエンドノード)を与えるRにデシジョンツリーパッケージがありますか?

現在私はpartykitパッケージのctreeを使用しています。常に分割されたツリーは予測変数を良好に分割しますが、エンドノードは常にマイナスの利益をもたらします。

また、ノードの終わりに結果を理解することも困難です。これらは 'N ='と 'Error ='の傾向があります。代わりに '利益='を得るための方法がありますか?それであなたは最良のエンドノードが何であるかを見ることができますか?

多くのおかげで、最初の

答えて

0

シンプルなもの:各ターミナルノードでの印刷結果を理解します。これはノード5に平均停止speed > 1719観測が存在すること、例えば手段

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 

distcarsの停止dist ANCEがそれらspeedにどのように依存するかをモデル化ctree(特に有用ではない)は、以下の単純な検討数字はerrまたは9015.7の平方和に対応する65.263であった。

したがって、ターゲット変数の平均が最初に与えられ(nおよびerr)、最も関心のあるものです。ターゲット変数を最大化するには、予測平均が最も高い端末ノードを選択します。

最後に、利益の最大化に直接的に取り組んでいるツリーメソッドについてはわかりません。標準的なツリーメソッドは、一定の方法で均質な終端ノードを見つけようとします。 (ここではほぼ一定の平均目標値)。

+0

理想的には、5つの属性の特定の変数が分割されている場合のシナリオが必要です。意思決定ツリーは、各順列の利益を合計し、合計利益の差が最大の2つのバケットに分割します。これを行う関数はありますか? – Tammboy

+0

そして、各変数をループして、最大の利益差異を持つ変数を見つけます。次に、node1 ... – Tammboy

+0

これは信頼性の高い回答のためにより正確に定式化する必要があります。標準的な回帰木はあなたがしたいことに非常に近いかもしれませんが、それは非常に異なっているかもしれません。現時点ではわかりません。 –

関連する問題