2016-08-05 18 views
1

モデルが構築され、すべての重要度プロットが生成されます。 がpartialPlot(rf, fraud_data_train, purchase_value, which.class = 1) エラーがカテゴリ変数についてランダムプロットから部分プロットを作成することはできません。

Error in is.finite(x): default method not implemented for type 'list' 

browser)でエラーが partialPlot(rf, fraud_data_train, browser, which.class = 1)

Error in FUN(X[[i]], ...) : 
    only defined on a data frame with all numeric variables 

データが利用可能である:しかし、私は、例えばpurchase_valueため、連続変数でpartialPlotを使用しましたhere、コードは以下の通りです。

rf = randomForest(y = fraud_data_train$class_factor, 
        x = fraud_data_train[,-predictors_notinclude], 
        ntree = 30, mtry = 4, keep.forest = TRUE, 
        importance = TRUE, proximity = TRUE) 
partialPlot(rf, fraud_data_train, purchase_value, which.class =1) 

アップデート:ここで

は私のRスタジオコンソールからのスクリーンショットです: enter image description here

アップデート2

何とかプロットはなぜまだ混乱してノートmarkdown..butに現れましたコンソールで出力することはできません enter image description here

+0

私はどちらのエラーも再現できません。両方とも 'randomForest_4.6-12'でうまく動作します。 'partialPlot'はマスクされていますか? 'randomForest :: partialPlot(rf、fraud_data_train、purchase_value、which.class = 1)'を試してください。 – jbaums

+0

ありがとう@jbaums私はもう一度試しましたが、まだエラーがあります。私は 'randomForest 4.6-12'も使用しています。どの部分が壊れているのかわからない。私は別のマシンでも試しました。私のシステムは勝利10です。 – MYjx

+0

この関数のデバッグを試して、問題の場所を知ることができます: 'debugonce(randomForest :: partialPlot); partialPlot(rf、fraud_data_train、purchase_value、which.class = 1) 'です。 'UseMethod(" partialPlot ")が見えたら、その関数に' s'を実行してください。より多くのコマンドについては、 '?browser'を参照してください。 RStudioを使用している場合は、コンソールの上にあるデバッグボタンを使用できます。 – jbaums

答えて

5

data.frameの代わりにtibbleのいずれかが表示されている場合は、この問題が発生します。 tibble(おそらくdata_frameですが、テストできません)はpartialPlot機能と互換性がありません。

単純な解決策は、partialPlot(rf, as.data.frame(fraud_data_train), purchase_value, which.class = 1)のような処理を行うことです。

+0

いい答え、誰も信じられないです。 – hxd1011

関連する問題