1

エラーと私が取得しようとしているものを再現するため。次の例があります。私がデータセットを持っているとしましょう:アイリス。を使用して分類ツリーをモデル化しています

library(party)
ct <- ctree(Species ~ ., data = iris) #here Species is the categorical response variable
print(ct)
plot(ct)

ここに画像の説明を入力

しかし、私の質問は、すべてのノードで分割条件とターミナルノードの値を取得するにはどうすればよいですか?

使って分かった

library(partykit)
partykit:::.ctree_fit(ct)

分割条件を簡単に見つけることができます。しかし、ツリーの最大深度が 3 に定義されている私のデータセットでは、これには 8 時間以上かかります。

要約する :

  1. を使用してツリーの分割条件を見つける必要がありますlibrary(party)
  2. また、ツリーのターミナル ノードで値を見つけます。したがって、ルールを定義する際にこれらの値を使用できます

*注意: 私のデータセットはアイリスのデータ セットより少し複雑です。私は次の構造を持っています

ct <- ctree(Y ~ V1 + V2 + V3 ,  data= MyData,controls = ctree_control(maxdepth = 3))# here Y is factor variable , V1 & V3 is continous , V2 is categorical variable

私がするとき:where(ct)私はエラー以下になります*エラー:

Error in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function ‘where’ for signature ‘"constparty"’

この問題についてさらに詳しく教えてください

4

0 に答える 0