タグ付けされた質問 「random-forest」

ランダムフォレストは、多くの決定木の出力の組み合わせに基づく機械学習手法です。

1
機械学習を使用して財務時系列を予測するための最初のステップ学習
機械学習を使用して、将来の1つ以上のステップの財務時系列を予測する方法を把握しようとしています。 いくつかの記述データを含む財務時系列があり、モデルを作成し、そのモデルを使用して先のnステップを予測したいです。 私がこれまでやってきたことは: getSymbols("GOOG") GOOG$sma <- SMA(Cl(GOOG)) GOOG$range <- GOOG$GOOG.High-GOOG$GOOG.Low tail(GOOG) GOOG.Open GOOG.High GOOG.Low GOOG.Close GOOG.Volume GOOG.Adjusted sma range 2013-05-07 863.01 863.87 850.67 857.23 1959000 857.23 828.214 13.20 2013-05-08 857.00 873.88 852.91 873.63 2468300 873.63 834.232 20.97 2013-05-09 870.84 879.66 868.23 871.48 2200600 871.48 840.470 11.43 2013-05-10 875.31 880.54 872.16 …

3
ランダムフォレストによるカウントデータの予測
ランダムフォレストをトレーニングして、カウントデータを適切に予測できますか?これはどのように進みますか?私は非常に広範囲の値を持っているので、分類は実際には意味をなしません。回帰を使用する場合、結果を切り捨てますか?私はここでかなり迷っています。何か案は?

2
ランダムフォレスト:変数が重要であることがわかっている場合
私の理解では、ランダムフォレストはランダムにmtry変数を選択して各決定ツリーを構築します。したがって、mtry = ncol / 3の場合、各変数は平均してツリーの1/3で使用されます。そして、ツリーの2/3はそれらを使用しません。 しかし、単一の変数がおそらく非常に重要であることを知っている場合、この変数が各ツリーで選択される確率を手動で増やすとよいでしょうか?RのrandomForestパッケージで実現可能ですか?

2
randomForestは分類の代わりに回帰を選択します
私が使用しているランダムフォレスト Rパッケージを虹彩データを用いて、生成されたランダムフォレスト、分類であるが、私は約700の機能とデータセットを使用する場合(機能が28x28ピクセルの画像の各画素である)と、ラベル列の名前はlabel、randomForest生成されるのは回帰です。私は次の行を使用しています: rf <- randomForest(label ~ ., data=train) 分類の代わりに回帰が使用されるのはなぜですか?データはを介して読み込まれますread.csv()。
12 r  random-forest 

2
PCAとランダムフォレスト
最近のKaggleコンテストでは、トレーニングセット用に10の追加機能を手動で定義しました。これらの機能は、ランダムフォレスト分類器のトレーニングに使用されます。新しい機能を備えたデータセットに対してPCAを実行し、それらが互いにどのように比較されているかを確認することにしました。分散の〜98%が最初の成分(最初の固有ベクトル)によって運ばれることがわかりました。次に、分類器を複数回トレーニングし、一度に1つの機能を追加し、交差検証とRMSエラーを使用して分類の品質を比較しました。機能を追加するごとに分類が改善され、最終結果(10個の新しい機能すべてを含む)が(たとえば)2個の機能を使用した最初の実行よりもはるかに優れていることがわかりました。 PCAが分散の〜98%がデータセットの最初のコンポーネントにあると主張したのに、なぜ分類の品質はそれほど向上したのですか? これは他の分類器にも当てはまりますか?RFは複数のコアにまたがるので、トレーニングは(たとえば)SVMよりもはるかに高速です。 データセットを「PCA」空間に変換し、変換した空間で分類器を実行した場合はどうなりますか。結果はどのように変わりますか?


1
誤検知の数を減らす方法は?
私は歩行者検出と呼ばれるタスクを解決しようとしています、そして私は2つのカテゴリーのポジティブ-人々、ネガティブ-バックグラウンドでバイナリクラスシファーをトレーニングします。 データセットがあります: 陽性の数= 3752 負の数= 3800 私はtrain \ test split 80 \ 20%とRandomForestClassifier形式のscikit-learn をパラメーターで使用します: RandomForestClassifier(n_estimators=100, max_depth=50, n_jobs= -1) スコアを取得:95.896757% トレーニングデータのテスト(完全に機能): true positive: 3005 false positive: 0 false negative: 0 true negative: 3036 テストデータのテスト: true positive: 742 false positive: 57 false negative: 5 true negative: 707 私の質問は、偽陽性の数を減らす方法です(背景は人として分類されます)?また、なぜ偽陰性よりも偽陽性のエラーが多いのですか? class_weightパラメータを使用しようとしましたが、ある時点でパフォーマンスが低下します(class_weight = {0:1,1:4}で確認できます)。 class_weight= …

1
キャレットパッケージでRandomForestのFinalModelを使用して予測する前に前処理が必要ですか?
キャレットパッケージを使用して、randomForestオブジェクトを10x10CVでトレーニングします。 library(caret) tc <- trainControl("repeatedcv", number=10, repeats=10, classProbs=TRUE, savePred=T) RFFit <- train(Defect ~., data=trainingSet, method="rf", trControl=tc, preProc=c("center", "scale")) その後、testSetでrandomForestをテストします(新しいデータ) RF.testSet$Prediction <- predict(RFFit, newdata=testSet) 混乱行列は、モデルがそれほど悪くないことを私に示しています。 confusionMatrix(data=RF.testSet$Prediction, RF.testSet$Defect) Reference Prediction 0 1 0 886 179 1 53 126 Accuracy : 0.8135 95% CI : (0.7907, 0.8348) No Information Rate : 0.7548 P-Value …

2
ロジスティック回帰とランダムフォレストの結果を組み合わせる方法
機械学習は初めてです。同じデータセットにロジスティック回帰とランダムフォレストを適用しました。したがって、変数の重要度(ロジスティック回帰の絶対係数とランダムフォレストの変数の重要度)が得られます。最終的な変数の重要度を取得するために2つを組み合わせることを考えています。誰でも彼/彼女の経験を共有できますか?バギング、ブースティング、アンサンブルモデリングを確認しましたが、それらは私が必要としているものではありません。それらは、同じモデルの情報を複製全体で組み合わせるためのものです。私が探しているのは、複数のモデルの結果を組み合わせることです。

2
ランダムフォレストのキャレットを使用した機能の選択とパラメーターの調整
数千の機能を持つデータがあり、再帰的な機能選択(RFE)を実行して、情報のない機能を削除したいと考えています。これはキャレットとRFEで行います。ただし、最良の回帰適合(たとえば、ランダムフォレスト)を取得する場合、パラメーターの調整(mtryRFの場合)をいつ実行する必要があるかを考え始めました。つまり、私が理解しているように、キャレットは固定mtryを使用してさまざまな機能サブセットでRFを繰り返しトレーニングします。mtry機能の選択が完了した後で最適が見つかると思いmtryますが、キャレットが使用する値は、選択された機能のサブセットに影響しますか?もちろん、低でキャレットを使用するmtry方がはるかに高速です。 誰かがこれを私に説明してくれることを願っています。

1
ランダムフォレスト(または別の分類子)による層別分類
だから、私は約60 x 1000の行列を持っています。私はそれを1000の特徴を持つ60個のオブジェクトとして見ています。60個のオブジェクトは3つのクラス(a、b、c)にグループ化されます。各クラスには20個のオブジェクトがあり、真の分類がわかります。この60のトレーニング例のセットで教師あり学習を行いたいのですが、分類機能の精度(および関連するメトリック)と1000の機能の機能選択の両方に興味があります。 まず、私の命名はどうですか? 今本当の質問: ランダムフォレストを、前述のように、または他の任意の数の分類器にスローすることができます。しかし、微妙な点があります。クラスcとクラスaおよびbを区別することだけが重要です。クラスaとbをプールすることもできますが、c以外のすべてのオブジェクトが2つの異なるクラスターを形成する可能性があるという先験的な知識を使用する良い方法はありますか?私と同様のデータで効果的であることが示されているので、ランダムフォレストまたはそのバリアントを使用したいと思います。しかし、私は他のいくつかのアプローチを試すことを確信することができました。

2
ランダムフォレストは予測バイアスを示しますか?
これは簡単な質問だと思いますが、なぜか、なぜそうでないかの背後にある推論はそうではないかもしれません。私が尋ねる理由は、最近RFの独自の実装を記述したためです。RFのパフォーマンスは良好ですが、期待したパフォーマンスを発揮していません(Kaggle Photo Quality Prediction競争データセット、勝利スコア、および使用された手法について入手可能になった後続の情報)。 このような状況で最初に行うことは、モデルの予測誤差をプロットすることです。そのため、与えられた予測値ごとに、正しいターゲット値からの平均バイアス(または偏差)を決定します。私のRFについて、私はこのプロットを得ました: これがRFで一般的に観察されるバイアスパターンであるかどうか疑問に思っています(そうでない場合は、データセットや私の実装に固有のものである可能性があります)。もちろん、このプロットを使用してバイアスを補正することで予測を改善できますが、RFモデル自体に対処する必要があるより根本的なエラーや欠点があるのではないかと思っています。ありがとうございました。 ==補遺== 私の最初の調査は、このブログエントリ「ランダムフォレストバイアス-更新」です。

3
ランダムフォレストの回帰がトレーニングデータよりも高いと予測しない
少なくともでR、ランダムフォレスト回帰モデルを構築するとき、予測値がトレーニングデータにあるターゲット変数の最大値を決して超えないことに気づきました。例として、以下のコードを参照してください。データにmpg基づいて予測する回帰モデルを構築していmtcarsます。私はOLSとランダムフォレストモデルを構築し、それらを使用しmpgて、非常に優れた燃費が必要な仮想車を予測します。OLSは予想mpgどおり高いを予測しますが、ランダムフォレストは予測しません。もっと複雑なモデルでもこれに気づきました。どうしてこれなの? > library(datasets) > library(randomForest) > > data(mtcars) > max(mtcars$mpg) [1] 33.9 > > set.seed(2) > fit1 <- lm(mpg~., data=mtcars) #OLS fit > fit2 <- randomForest(mpg~., data=mtcars) #random forest fit > > #Hypothetical car that should have very high mpg > hypCar <- data.frame(cyl=4, disp=50, hp=40, drat=5.5, wt=1, qsec=24, vs=1, …
12 r  random-forest 

2
CNNがFCレイヤーで終了するのはなぜですか?
私の理解では、CNNは2つの部分で構成されています。最初の部分(conv / poolレイヤー)は特徴抽出を行い、2番目の部分(fcレイヤー)は特徴から分類を行います。 完全に接続されたニューラルネットは最良の分類子ではないため(つまり、ほとんどの場合、SVMとRFによってパフォーマンスが向上します)、SVMやRFではなく、なぜCNNがFCレイヤーで終了するのですか?

1
RandomForestとクラスの重み
一文の質問:誰かがランダムなフォレストの適切なクラスの重みを決定する方法を知っていますか? 説明:私は不均衡なデータセットで遊んでいます。このRパッケージを使用して、randomForestポジティブな例がほとんどなく、ネガティブな例が多い、非常にゆがんだデータセットでモデルをトレーニングします。他にも方法はありますが、最終的にはそれらを利用しますが、技術的な理由から、ランダムフォレストの構築は中間段階です。そこで、パラメータをいじってみましたclasswt。半径2のディスクに5000の負の例の非常に人工的なデータセットを設定し、半径1のディスクに100の正の例をサンプリングします。 1)クラスの重み付けを行わないと、モデルは「退化」しFALSEます。つまり、どこでも予測されます。 2)公平なクラスの重み付けを使用すると、中央に「緑色の点」が表示されます。つまり、TRUE負の例があるように、半径1のディスクを予測します。 データは次のようになります。 これは、重み付けせずに何が起こるかである:(呼び出しは次のとおりです。randomForest(x = train[, .(x,y)],y = as.factor(train$z),ntree = 50)) チェックのために、関係が再び1:1になるように、負のクラスをダウンサンプリングしてデータセットを激しくバランス調整したときに何が起こるかを試しました。これは私に期待される結果を与えます: ただし、クラスの重みが「FALSE」= 1、「TRUE」= 50のモデルを計算すると(これは、正の50倍のネガティブがあるため、これは適切な重みです)、次のようになります。 重みを 'FALSE' = 0.05や 'TRUE' = 500000などの奇妙な値に設定した場合のみ、意味のある結果が得られます。 そして、これは非常に不安定です。つまり、「FALSE」の重みを0.01に変更すると、モデルは再び縮退します(つまり、TRUEどこでも予測されます)。 質問:ランダムフォレストの適切なクラスの重みを決定する方法を誰かが知っていますか? Rコード: library(plot3D) library(data.table) library(randomForest) set.seed(1234) amountPos = 100 amountNeg = 5000 # positives r = runif(amountPos, 0, 1) phi = runif(amountPos, 0, 2*pi) x …
11 r  random-forest 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.