問題タブ [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 - Weka RandomForest が Scikit RandomForestClassifier とは異なる結果をもたらすのはなぜですか?
同じ RandomForest 手法と同じデータセットを使用しているときに、WEKA と scikit の結果に独特の違いがあります。scikit を使用すると、約 0.62 の AUC が得られます (常に、広範なテストを行ったため)。ただし、WEKA を使用すると、0.79 に近い結果が得られます。それは大きな違いです!
アルゴリズムをテストしたデータセットは KC1.arff で、そのコピーをパブリック ドロップボックス フォルダーhttps://dl.dropbox.com/u/30688032/KC1.arffに置きました。WEKA の場合、単純にhttp://www.cs.waikato.ac.nz/ml/weka/downloading.htmlから .jar ファイルをダウンロードしました。WEKA では、交差検証パラメーターを 10 倍、データセットを KC1.arff、アルゴリズムを "RandomForest -l 19 -K 0 -S 1" に設定しました。次に、コードを実行しました!WEKA で結果を生成したら、ファイル、.csv または .arff として保存する必要があります。そのファイルを読み、「Area_under_ROC」列を確認すると、0.79 に近いはずです。
以下は、scikit の RandomForest のコードです。
関連論文の実験結果に示されているように、実際の auc 値は約 0.79 であるため、問題は scikit ランダム フォレストを使用する実装にあることに注意してください。
あなたの親切な助けは非常に高く評価されます!!
どうもありがとうございました!
r - ランダム フォレスト出力の解釈
データに対してランダム フォレストを実行し、出力を行列の形式で取得しました。分類に適用されたルールは何ですか?
PS 出力として顧客のプロファイルが必要です。たとえば、ニューヨーク出身の人、テクノロジー業界で働いている人などです。
ランダム フォレストの結果をどのように解釈できますか?
algorithm - ランダム フォレスト トレーニング手順のデータセットの構築
ランダム フォレスト分類器をトレーニングするには、バギング(ブートストラップ アグリゲーティングの略) 手法を使用する必要があります。ここでこの学習手法の説明を読みましたが、最初にデータセットをどのように整理するかわかりませんでした。
現在、最初にすべての正の例をロードし、負の例の直後にロードします。また、正の例は負の例の半分以下であるため、データセットから一様にサンプリングすることで、負の例を取得する確率は正の例を取得する確率よりも大きくなります。
初期データセットはどのように構築すればよいですか? 正例と負例を含む初期データセットをシャッフルする必要がありますか?
r - R randomForest が oob.prox=FALSE でクラッシュする
次の行で一貫してRをクラッシュさせることができます:
oob.prox=TRUE で問題なく動作します。
これを再現できますか?
ありがとう、イマヌエル
r - 不均衡なデータのランダムフォレストによる回帰
ランダムフォレストのrパッケージを使用して、アミノ酸配列に基づいてタンパク質のペア間の距離を予測しています。主な関心は、近い(距離が小さい)タンパク質です。私のトレーニングデータセットは、10kペアのタンパク質とそれらの間の実際の距離で構成されています。ただし、タンパク質のペアが非常に少なく(0.2%未満)、それらの間の距離が小さく、問題は、訓練されたランダムフォレストが、距離が長いタンパク質間の距離を予測する際に非常に正確になり、距離が短いタンパク質には非常に悪いことです。彼ら。トレーニングデータで長距離のタンパク質をダウンサンプリングしようとしましたが、結果はまだ良くありません。私はより近いタンパク質(それらの間の距離が小さいそれらのペア)にもっと興味があります。
machine-learning - クロス検証と同時にランダムフォレストを実行する必要がありますか
ランダムフォレストは堅牢なアルゴリズムです。ランダムフォレストでは、いくつかの小さな木を訓練し、OOBの精度を持っています。ただし、ランダムフォレストと同時に交差検定を実行する必要がありますか?
r - cforest で .combine を使用する際の問題
こんにちは、R でのcforestの並列化に問題があります。
partyパッケージのcforest関数を使用して分類モデルを作成しようとしています。これをコンピューターの複数のコアで並行して実行したいと考えています。randomForestアルゴリズムと .combine および foreach を組み合わせて、これを既に成功させました。
ただし、 cforestで同じ構文を使用すると、次のエラーが発生します。
.combine が cforestオブジェクトの代わりに randomForest オブジェクトを探している理由、または少なくとも、.combine が単一の関数のすべての出力である場合に、結合されているオブジェクトのタイプを自動的に認識しない理由を理解できません。
c++ - C++ でのランダム デシジョン フォレストの実装の比較
現在、いくつかの R コードを C++ コードに変換しており、「優れた」C++ ランダム デシジョン フォレストの実装が必要です。
これまでのところ、3 つの大きな実装 (tmva、alglib、openCv) と、いくつかの「小さい/時代遅れの」実装 (librf など) を見つけました。そのうちの 1 つを選択する必要があります。
これらのライブラリ (または他のライブラリ) について、良い/悪い経験や推奨事項はありますか? たとえば、使いやすさ、移植性、メモリ使用量、速度、エラー メッセージの読みやすさ、バグ (?)、実装の選択肢に関するコメントなどです。
知りたい場合は、私は Visual Studio で作業していますが、私のコードは Linux と互換性があります (そして維持する必要があります)。大量のランダムフォレストを計算してメモリに保持するため、速度とメモリ使用量は私にとって非常に重要です。私が開発しているコードは、シンボリック タイム シーケンスの機械学習アルゴリズムです。
前もって感謝します、
r - randomForest、adaboost などの R ツリーベースのメソッド: 同じデータの結果を異なる形式で解釈する
私のデータセットが100 x 3
カテゴリ変数で満たされた行列であるとします。応答変数でバイナリ分類を行いたいと思います。次のコードでデータセットを作成しましょう。
データは次のようになります。
このデータに対して、2 つの異なるアプローチでランダム フォレストとアダブーストを実行しようとしました。最初のアプローチは、データをそのまま使用することです。
2 番目のアプローチは、データセットをワイド フォーマットに変換し、各カテゴリを変数として扱うことです。これを行っている理由は、実際のデータセットには var1 と var2 に 500 以上の要素があり、その結果、ツリー パーティショニングは常に 500 のカテゴリを 2 つの分割に分割するためです。そうすることで多くの情報が失われます。データを変換するには:
新しいデータは次のようになります。
この新しいデータセットにランダム フォレストとアダブーストを適用します。
2 つのアプローチの結果は異なります。と の各変数にレベルを追加すると、違いがより明確にvar1
なりvar2
ます。私の質問は、まったく同じデータを使用しているのに、結果が異なるのはなぜですか? 両方のアプローチの結果をどのように解釈すべきでしょうか? どちらがより信頼できますか?