2

データ内の列の数からツリーを構築するのにかかる時間を cforest/ctree から切り離すにはどうすればよいですか?

オプションを使用してそれを行うことができると思いましたmtry。つまり、ヘルプは言います

ランダム フォレストのようなアルゴリズムの候補として、各ノードでランダムにサンプリングされた入力変数の数。

しかし、それは出力ツリーをランダム化しますが、列の数から CPU 時間を分離しません。

p<-proc.time()

ctree(gs.Fit~.,
      data=Aspekte.Fit[,1:60],
      controls=ctree_control(mincriterion=0,
                             maxdepth=2,
                             mtry=1))

proc.time()-p

Aspekte.Fit[,1:30](ところで、すべての変数はブール値です)と同じ2倍の時間がかかります。なんで?列の数に合わせてどこでスケーリングしますか?

私が見ているように、アルゴリズムは次のようにする必要があります。

  1. 各ノードでランダムに 2 つの列を選択します。
  2. それらを使用して応答を分割します。( のためスケーリングなしmincriterion=0)
  3. 次のノードに進みます ( により合計 3 つmaxdepth=2)

列の合計の影響を受けません。

私のやり方の間違いを指摘してくれてありがとう

4

0 に答える 0