[解決済み] randomForestのROC曲線誤差
2022-02-18 05:32:04
質問内容
下記からROC曲線を作成しようとしています。Error in prediction(bc_rf_predict_prob, bc_test$Class) というエラーが表示されます。 クロスバリデーションの実行回数は、予測値とラベルに対して同じでなければなりません。
library(mlbench) #has the Breast Cancer dataset in it
library(caret)
data(BreastCancer) #two class model
bc_changed<-BreastCancer[2:11] #removes variables not to be used
#Create train and test/holdout samples (works fine)
set.seed(59)
bc_rand <- bc_changed[order(runif(699)), ] #699 observations
bc_rand <- sample(1:699, 499)
bc_train <- bc_changed[ bc_rand,]
bc_test <- bc_changed[-bc_rand,]
#random forest decision tree (works fine)
library(caret)
library(randomForest)
set.seed(59)
bc_rf <- randomForest(Class ~.,data=bc_train, ntree=500,na.action = na.omit, importance=TRUE)
#ROC
library(ROCR)
actual <- bc_test$Class
bc_rf_predict_prob<-predict(bc_rf, type="prob", bc_test)
bc.pred = prediction(bc_rf_predict_prob,bc_test$Class) #not work- error
Error-Error in prediction(bc_rf_predict_prob, bc_test$Class) : クロスバリデーションの実行回数は、予測とラベルで同じでなければなりません。
をした時に出ているのだと思います。
bc_rf_predict_prob<-predict(bc_rf, type="prob", bc_test)
結果として、2列のBenignとその確率のリスト、2列目のMalignantとその確率のリストを持つ行列が得られます。私の論理では、確率のベクトルだけを持つべきです。
どのように解決するのですか?
によると
ROCRライブラリ・ドキュメントの9ページ
は、その
prediction
関数には2つの必須入力があります。
predictions
と
labels
であり、同じ寸法でなければならない。
行列やデータフレームの場合,すべてのクロスバリデーションの実行は同じ長さでなければならない.
このため
str(bc_rf_predict_prob) > [1] matrix [1:200, 1:2]
を意味します。
str(bc_test$Class)
は、一致する次元を持つ必要があります。
の最初の列ベクトルだけが必要なようですね。
bc_rf_predict_prob
しかし、データを見てみないと確かなことは言えません。
関連
-
[解決済み] 変数の型(リスト)が無効です
-
[解決済み】ベースグラフィックスでプロットエリアの外側に凡例をプロットする?
-
[解決済み】LMEモデルのレベル0、ブロック1でのバックソルブにおける特異性
-
[解決済み】Rでの関数の最適化(L-BFGS-Bでは'fn'に有限の値が必要)。
-
[解決済み】ggplotのエラー。関数型オブジェクトのスケールを自動的に選択する方法がわかりません。
-
[解決済み] 因子を日付形式に変換するにはどうすればいいですか?
-
[解決済み】Rでのデータ操作。'X'はアトミックでなければならない
-
[解決済み】forループを実行すると「要因のレベルセットが異なる」というエラーが発生する
-
[解決済み】dplyr: "Error in n(): 関数は直接呼ばれるべきではありません"
-
[解決済み] 予測との誤差 - ROCRパッケージ(確率を使用)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】xtsオブジェクトでエラー: "antempt to set 'colnames' on the object with less than two dimension "を克服する方法
-
[解決済み】エラー:私のコードで予期しないシンボル/入力/文字列定数/数値定数/SPECIALが発生した
-
[解決済み】 'height' はベクトルか行列でなければならない barplot のエラー
-
[解決済み】エラー:ベクターメモリの枯渇(制限に達したか) R 3.5.0 macOS
-
[解決済み】ベースグラフィックスでプロットエリアの外側に凡例をプロットする?
-
[解決済み】RでのMLEエラー:'vmmin'の初期値が有限でない
-
[解決済み】値を置き換えようとすると、"データフレームの添え字の割り当てで欠損値は許可されない"
-
[解決済み】データのマージ - fix.by(by.x, x)のエラー)
-
[解決済み】rbind(deparse.level, ...)でエラー:引数の列の数がRにマッチしていない
-
[解決済み】randomForestの実行予測で「NA/NaN/Inf in foreign function call (arg 7)」をなくすには?