6 つの予測変数 (すべてカテゴリ変数)、応答変数、重みの列、および約 3500 の観測値を含むデータ セットがあります。予測変数の水準は 2 から 7 までさまざまです。
たとえば、各予測変数のレベルの指標変数を定義しました。
retail <- Trade == "RETAIL"
は「主な」変数の 1 つであり、小売Trade
はそれが取り得る値です。
以下を使用して条件変数の重要度を計算しようとすると、問題が発生します。
rf <- cforest(Actual ~ comp + tpft + abi1 + abi2 +
abi3 + abi4 + abi5 + abi6 + abio + builders +
clerical + manufacturing + othertrade + retail +
tradeunk + wholesale + firstrenewal + newbusiness +
renewedtwice + MTyes + MTno + ly9 + ly10 + ly11 + ly12 + ly13,
data=table, weights=Expected, controls=data.controls)
imp <- varimp(rf, conditional=TRUE)
、 などのそれぞれはcomp
、tpft
主な変数が取ることができるカテゴリです。
これはエラーを返します:
Error in names(blocks) <- cond :
'names' attribute [24] must be the same length as the vector [12]
そして、私はそれを修正する方法がわかりません!traceback
与えます:
> traceback()
2: conditional_perm(ccl, xnames, input, tree, oob)
1: varimp(rf, conditional = TRUE)
このメソッドは、6 つの主要な変数のみをテストする場合に機能するため、インジケーター変数の数が他の変数の数と一致しないという問題があり、インジケーター変数で conditional=FALSE を使用することも機能します。どんな助けでも大歓迎です。