問題タブ [random-forest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R randomForest 投票タイブレーク
R randomForest パッケージが分類の同点を解決するために使用するメカニズムを知っている人はいますか?
ドキュメントによると、同点はランダムに壊れています。ただし、一連のデータでモデルをトレーニングし、そのモデルを 1 つの検証データ セットで何度もスコアリングする場合、同点のクラスの決定は 50/50 ではありません。
ここmodel
で、 は randomForest オブジェクトであり、同数bad_ind
のクラス投票を持つ特徴ベクトルの単なるインデックスのリストです。上記のコードを使用した私のテスト ケースでは、同順位の 2 つのクラス間の分布は 90/10 に近づきました。
また、奇数のツリーを使用するという推奨事項は、通常、3 番目のクラスがいくつかの票を集め、他の 2 つのクラスが引き分けになった場合には機能しません。
投票で結ばれた rf ツリーを持つこれらのケースは、最終的に 50/50 になるべきではありませんか?
更新: フォレストのトレーニングのランダムな性質のため、例を提供することは困難ですが、次のコード (スロップで申し訳ありません) は、フォレストが明確な勝者を決定できない例を生成することになります。私のテストの実行では、同点が解消されたときに 66%/33% の分布が示されました。これは 50%/50% であると予想していました。
更新: これは、randomForest のバージョン 4.6-3 で修正される必要があります。
r - NAを処理できるRパッケージ/モデル
NAのインスタンスがある行または列を無視するのではなく、NAを処理できるRパッケージまたは機械学習モデル/アルゴリズム( 、、、などrandomForest
)を探しています。私は帰属するつもりはありません。助言がありますか?glmnet
gbdt
r - R RandomForest: 新しいオブジェクトの近接性
ランダム フォレストをトレーニングしました。
新しいオブジェクトの y を予測したいときは、
既存のフォレスト (モデル) に基づいて、新しいオブジェクト (xnew) とトレーニング セット (x) の間の近接性を計算するにはどうすればよいですか? 予測関数の近接オプションは、新しいオブジェクト (xnew) 間の近接のみを提供します。結合されたデータセット (x と xnew) に対して教師なしで randomForest を再度実行して近接性を取得することもできますが、フォレストの再構築を回避し、代わりに既存のものを使用する方法が必要だと思います。
ありがとう!キリアン
r - 多数のレベルを持つ要因を処理するための R 機械学習パッケージ
多くの因子型変数 (単語、説明、時間、基本的には数値以外のもの) を含む機械学習をしようとしています。私は通常依存してrandomForest
いますが、32 レベルを超える因子では機能しません。
誰かがいくつかの良い代替案を提案できますか?
r - R Inf / -Inf値を見つける方法はありますか?
大規模なデータセット(5000x300)でrandomForestを実行しようとしています。残念ながら、次のようなエラーメッセージが表示されます。
だから私はNAを使って見つけようとします:
NAがないように見えるので、問題はInfだと私は信じています。
Infを根絶する方法について何か提案はありますか?
r - 非常に不均衡なクラスを持つランダムフォレスト
応答クラスが非常に不均衡なビッグデータの問題でランダムフォレストを使用しているので、ドキュメントを読んで、次のパラメーターを見つけました。
これらのパラメータのドキュメントはまばらで(またはそれを見つけることができませんでした)、実装方法が本当にわかりません。私は次のコードを使用しています:
応答は2つの可能な値を持つクラスであり、最初の値は2番目の値よりも頻繁に表示されます(10000:1以上)
これlist.params
はさまざまなパラメータのリストです(ええと!私は知っています...)
さて、質問は(再び)です:「strata」パラメータをどのように使用できますか?sampsizeを正しく使用していますか?
そして最後に、次のエラーが発生することがあります。
申し訳ありませんが、私が非常に多くの(そしておそらく愚かな)質問をしている場合...
r - randomForest32ファクター制限を回避するためのRサンプリング
ファクターの32レベルのrandomForestパッケージ制限を回避しようとしています。
因子変数の1つに100レベルのデータセットがあります。
次のコードを記述して、置換を伴うサンプリングを使用するとどのように見えるか、および特定の%のレベルを選択するのに何回試行するかを確認しました。
私が議論しているのは、交換の有無にかかわらずサンプリングするかどうかです。
私は考えています:
- 100の要因のうち32のサンプルを取得し、
- それらの行を使用してrandomForestを実行し、
- randomForestとを使用してテストセットを予測する
- このプロセスを(a)3回(交換なし)または(b)10〜15回(交換あり)繰り返します。
- 3つまたは10〜15の予測値を取得し、平均を見つけて、それを最終的な予測子として使用します。
誰かがこのようなことを試みたのか、私がルールを破っているのか(バイアスの導入など)、または誰かが何か提案をしているのかどうか、私は興味があります。
注:この質問は、統計-オーバーフロー/相互検証にもクロスポストしました。
r - doSMP と foreach を使用した並列ランダム フォレストでは、メモリ使用量が大幅に増加します (Windows の場合)
ランダム フォレストをシリアルで実行すると、システムで 8 GB の RAM が使用されます。並列で実行すると、2 倍以上の RAM (18 GB) が使用されます。並行して行う場合、どうすれば8GBに保つことができますか? コードは次のとおりです。
r - randomForest (R パッケージ) のデータを正規化 (またはスケーリング) する必要がありますか?
回帰タスクを実行しています - randomForest (R パッケージ) のデータを正規化 (またはスケーリング) する必要がありますか? また、目標値もスケーリングする必要がありますか? また、キャレット パッケージのスケール関数を使用したいのですが、データを元に戻す方法 (デスケール、非正規化) が見つかりませんでした。正規化/非正規化に役立つ他の関数 (任意のパッケージ内) について知りませんか? ありがとう、ミラン
machine-learning - バイナリ分類器に必要なメモリ量を見積もる方法は?
スパム メッセージを検出するためのバイナリ分類子を作成したいとします。数十億のトレーニング例と約 20 の機能があります。トレーニング済みの分類子をメモリに収めたい (クラウド上で実行し、実際には rpc 呼び出しであるディスク操作は非常に高価になる)。
私の質問は次のとおりです。必要なメモリ量をどのように見積もることができますか? 分類子がランダム フォレストであり、トレーニング セット内の SPAM メッセージの分布について何も知らないとします。
数字のみ: 2 つのクラス、10 億の例、20 の機能。
そのような推定はまったく可能ですか?どうすればそれができますか?