問題タブ [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.
python - 1 回の予測でのターゲット値の数
CSV ファイル内のいくつかの値を予測するために、python の scikit-learn モジュールを使用します。私はそれを行うためにランダムフォレストリグレッサーを使用しています。例として、予測する 8 つのトレーニング値と 3 つの値があります。どのコードを使用する必要がありますか? 予測される値として、すべてのターゲット値を一度に(A)または個別に(B)与える必要がありますか?
バリアント A:
バリアント B:
どのバージョンが正しいですか?
前もって感謝します!
r - 新しい観測に関連付けられた各ツリーのターミナルノードを抽出する
ランダムフォレストR実装のターミナルノードを抽出したいと思います。私がランダムフォレストを理解したように、あなたは直交する木のシーケンスを持っています。新しい観測値を予測すると(回帰)、これらすべてのツリーに入り、個々のツリーの予測を平均します。平均化せずに、これらの対応する観測値で線形回帰を実行したい場合は、たとえば、この新しい観測値に「関連付けられている」観測値のリストが必要になります。私はソースコードを調べましたが、これを入手する方法を思いつきませんでした。誰か助けてもらえますか?
r - RのrandomForest:ケースごとの信頼区間を計算する可能性はありますか?
RパッケージrandomForestレポートは、フォレスト内の各ツリーの二乗誤差を意味します。ただし、データの各ケースの信頼度を測定する必要があります。randomForestは、単一ツリーの予測を平均することによってケースごとの予測を計算するため、ケースごとの標準誤差、したがって信頼区間も計算できるはずです。これは、出力のrandomForestオブジェクトを使用して実行できますか(ある場合:どのように?)、またはソースコードを掘り下げる必要がありますか?
r - cforest / randomforest予測を使用した並列予測(doSNOWを使用)
テストデータセット(n = 35000)を分割し、Rをより小さなチャンクで実行できるようにすることで、テストデータセット(n = 35000)の予測を高速化しようとしています。モデルはで生成されていparty::cforest
ます。
foreach
ただし、で使用しようとすると、Rで最小のパーツを計算することはできません%dopar%
。
predict(fit,newdata=a[1:100,])
私の予測関数は、との両方で約7秒かかります
foreach(i=1:10) %do% {predict(fit,newdata=a[1:10,])}
。
しかし、%dopar%
代わりに使用しようとすると、Rがフリーズするようです。すべきではない:
ずっと速くなりますか?それとも、並列化自体がRの速度を低下させているのでしょうか。
別の関数(ここで提案されているようにsqrt(3)を繰り返し計算する)を使用したテスト実行では、大幅な改善が見られたため、%dopar%
も機能しています。
randomForestを使用した予測も同様に動作しますが、ここで%do%
は10x1:10の予測でも、1:100を予測するよりもはるかに時間がかかるという違いがあります。randomForestの場合、35kのデータセットすべてを予測することは問題ではないため、私はあまり気にしません。ところで。それは私だけですか、それともcforestはすべてにもっと時間とRAMを費やしていますか?randomForestがチャームのように機能する場合にのみ問題が発生します。
(Windows 7、x64、8GB RAM、4コア/ 8スレッドで実行-doSNOW並列化クラスターで6ノードを使用)
r - predict.randomForest 引数 nodes=TRUE
randomForest (R 実装) の newdata を予測し、nodes=TRUE を設定すると
何が返されますか?
n x ntree 行列を返し、各列にはケースがそのツリーに該当するノード番号が含まれています。
これがどのように機能するのかわかりませんか?そのツリーでケースが該当するノード番号は? ツリーのノードは、rf のこの実装で生成されるときに番号が付けられますか?
ありがとうございました。
r - R での並列処理
私は一連のゲノム データ (約 56k 列) の開始点と終了点の両方を必要とするカスタム ランダム フォレスト関数を使用しています。
列番号をサブグループに分割し、各サブグループを個別に処理して速度を上げたいと思います。次のコードでこれを試しました(失敗しました):
ここで、startMrk は数値変数の配列で1 4 8 12 16
あり、endMrk は別の配列です。3 7 11 15 19
この例では、1 つのコアでサンプルを 1:3 で実行し、別のコアで 4:7 で実行する、などとします。私は R での並列処理のアイデアに慣れていないので、どんなドキュメントでも喜んで勉強します。利用可能。並列処理または上記のコードで欠けているものについて誰かアドバイスがありますか?
r - キャレット使用時の rf (randomForest) の createGrid でのエラー
キャレットを使用してトレーニング用のパラメーターのグリッドを作成しようとすると、さまざまなエラーが発生します。
createGrid のドキュメントには次のように書かれています。
正しく動作する次の例を示します。
これで、私は何を間違っていますか?
フォローアップの質問:
len
の引数としてと の引数createGrid
のtuneLength
関係は何train
ですか? len
とtuneLength
一緒に使用できますか? 彼らの関係は何ですか?
その他の役立つスレッド:
役立つ場合は、in での使用方法createGrid
を説明するスレッドを次に示します: caret::train: specify model-generation-parameterstrain
caret
r - OOB エラー率と混同行列の間の一貫性
モデルの統計を調べると、 の数値が の数値とconfusion matrix
一致していないようOOB error rate
ですrandomForest
。
混同行列から OOB エラー率を推定するにはどうすればよいですか? それらの間の関係は何ですか?
以下の例では、2 つのモデルからの出力を出力します。1 つは層化サンプリング (図のサンプルのサブセットを使用sampsize
) で適合され、もう 1 つは層化サンプリングなしで適合されました (つまり、すべてのサンプルを使用すると思われるデフォルトのサンプリング スキームを使用)。 .
データは公開していませんが、関数呼び出しは次のとおりです。
r - R でのアップサンプリング - randomForest
非常に不均衡なデータがあり、精度を向上させるために少数派クラスをアップサンプリングしたいと考えています (少数派クラスが対象です)。
「randomForest」関数で「sampsize」オプションを使用してみましたが、ダウンサンプリングしかできません。「classwt」オプションを使用できる場所を読みましたが、使用方法がわかりません。
(「randomForest」ライブラリまたは他のそのようなライブラリを使用して)マイノリティ クラスをアップサンプリングすることにより、R でランダム フォレストを実行する方法を提案できますか。
ありがとう。