Rでランダムフォレストを欠損値で使用するには?
2023-10-27 16:13:03
質問
library(randomForest)
rf.model <- randomForest(WIN ~ ., data = learn)
ランダムフォレストモデルを当てはめたいのですが、こんなエラーが出ます。
Error in na.fail.default(list(WIN = c(2L, 1L, 1L, 2L, 1L, 2L, 2L, 1L, :
missing values in object
16個の数値属性からなるデータフレームlearnがあり、WINはレベル0 1の因子である。
どのように解決するのですか?
この質問に対する私の最初の反応は、ランダムフォレストが予測変数の欠損値を扱えないことを誰もが知っているので、あまり研究努力を示していない、というものでした。しかし、確認したところ
?randomForest
を確認したところ、これについてはもっと明示的であるべきだということを告白しなければなりません。
(とはいえ、Breimanの PDF でリンクされている Breiman のドキュメントでは、欠損値は単にまったく処理されないと明示されています)。
私が見ることができた公式ドキュメントの唯一の明白な手がかりは、デフォルト値が
na.action
パラメータのデフォルト値が
na.fail
であり、新しいユーザーにとってはあまりに不可解かもしれません。
いずれにせよ、予測変数が欠損値を持つ場合、(基本的に)2つの選択肢があります。
-
別のツールを使用する (
rpart
は欠損値をうまく処理します)。 - 欠損値をインプットする
驚くことではありませんが
randomForest
パッケージには、ちょうどこれを行うための関数があります。
rfImpute
. のドキュメントでは
?rfImpute
で、その基本的な使用例を見ることができます。
欠損値を持つケースが少数である場合、このような場合にも
na.action = na.omit
を設定して、それらのケースを単純に削除することもできます。
そしてもちろん、この回答は、あなたの問題が本当に単に欠損値を持っていることであるということを少し推測しています。
関連
-
Rによる系統的クラスタリング(階層)分析のグラフ形式の完全版
-
R言語における共通関数
-
[解決済み] 文字列ベクトルを代入して、列名を持つ空のデータフレームを作成する?重複
-
[解決済み] データフレーム列の名前によるドロップ
-
[解決済み] Rの代入演算子"="と"<-"の違いは何ですか?
-
[解決済み] ggplot2 Rプロットで軸の制限を設定するには?
-
[解決済み] [Solved] data.frameで全てまたは一部のNA(欠損値)を含む行を削除する。
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
-
[解決済み】data.frameのカラムを因子から文字に変換する
-
[解決済み】ggplot2で軸のタイトルやラベルの大きさを変更する。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
RStudio の "plot.new() : figure margins too large" 問題を解決する。
-
R: エラー: $ 演算子は原子ベクトルに対して無効です。
-
[解決策】 plot.new() のエラー:図の余白が大きすぎる。
-
Rの警告 "条件の長さが1より大きいので、最初の要素しか使えない "に対する解決策
-
R言語ダウンロード機能 download.fileとダウンロード解析
-
Rによる系統的クラスタリング(階層)分析のグラフ形式の完全版
-
[解決済み] データフレームを結合(マージ)する方法(内側、外側、左側、右側)
-
[解決済み] ggplotで凡例のタイトルを変更する方法
-
[解決済み] データフレーム内のランダムな行をサンプリングする
-
[解決済み】安定したマッピングを持つggplot2のカテゴリ変数に色を割り当てるには?