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

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

1
R線形回帰のカテゴリ変数「非表示」の値
これは私が何度か遭遇した例にすぎないため、サンプルデータはありません。Rで線形回帰モデルを実行する: a.lm = lm(Y ~ x1 + x2) x1は連続変数です。x2カテゴリ型で、「低」、「中」、「高」の3つの値があります。ただし、Rによって与えられる出力は次のようになります。 summary(a.lm) Estimate Std. Error t value Pr(>|t|) (Intercept) 0.521 0.20 1.446 0.19 x1 -0.61 0.11 1.451 0.17 x2Low -0.78 0.22 -2.34 0.005 x2Medium -0.56 0.45 -2.34 0.005 私は、Rがそのような要因(要因x2であること)に何らかのダミーコーディングを導入していることを理解しています。私はただ疑問に思っていx2ます。「高」の値をどのように解釈しますか?たとえば、ここで示した例の「High」x2は応答変数にどのような影響を与えますか? これの例を他の場所(例:ここ)で見ましたが、理解できる説明は見つかりませんでした。
10 r  regression  categorical-data  regression-coefficients  categorical-encoding  machine-learning  random-forest  anova  spss  r  self-study  bootstrap  monte-carlo  r  multiple-regression  partitioning  neural-networks  normalization  machine-learning  svm  kernel-trick  self-study  survival  cox-model  repeated-measures  survey  likert  correlation  variance  sampling  meta-analysis  anova  independence  sample  assumptions  bayesian  covariance  r  regression  time-series  mathematical-statistics  graphical-model  machine-learning  linear-model  kernel-trick  linear-algebra  self-study  moments  function  correlation  spss  probability  confidence-interval  sampling  mean  population  r  generalized-linear-model  prediction  offset  data-visualization  clustering  sas  cart  binning  sas  logistic  causality  regression  self-study  standard-error  r  distributions  r  regression  time-series  multiple-regression  python  chi-squared  independence  sample  clustering  data-mining  rapidminer  probability  stochastic-processes  clustering  binary-data  dimensionality-reduction  svd  correspondence-analysis  data-visualization  excel  c#  hypothesis-testing  econometrics  survey  rating  composite  regression  least-squares  mcmc  markov-process  kullback-leibler  convergence  predictive-models  r  regression  anova  confidence-interval  survival  cox-model  hazard  normal-distribution  autoregressive  mixed-model  r  mixed-model  sas  hypothesis-testing  mediation  interaction 

2
グループ化されたデータのランダムフォレスト
階層構造を持つ高次元のグループ化されたデータ(50の数値入力変数)でランダムフォレストを使用しています。データは、70の異なるオブジェクトの30の位置で6つの複製を使用して収集され、独立していない12600のデータポイントが得られました。 oobエラーは、トレーニング中に1つのオブジェクトのデータを除外し、トレーニングされたランダムフォレストで除外されたオブジェクトの結果を予測するときに発生するエラーよりもはるかに小さいため、ランダムフォレストはデータに適合しているようです。さらに、私は残差を関連付けました。 ランダムフォレストは独立したデータを期待しているため、過剰適合が発生していると思います。ランダムフォレストにデータの階層構造を伝えることはできますか?または、強力な相互作用構造を持つ高次元のグループ化されたデータを処理できる別の強力なアンサンブルまたは縮小方法はありますか? 私がもっと上手にできる方法についてのヒントはありますか?

2
教師あり学習データセットの自己相関は問題ですか?
次の問題を想像してみてください。Kアイテムの価格データと、さまざまな機能/予測子のスナップショットを毎週持っています。2年後の価格がどのくらい変わるか予測したい。 次のようにデータセットを組み立てます。各行は各週の各アイテムの機能で構成され、出力変数は2年間の価格リターンです。観測の日付がデータセットにない-私はそれをデータセットをトレーニングと検証セットに分離するためにのみ使用します。つまり、相互検証(検証期間の前後2年間のデータを破棄します) 1年)データの盗聴を防止するため)。 明らかに、同じ項目(および異なる項目の場合も)の2週間連続のサンプルは、機能と応答変数の両方の点で高度に相関します(今後2年間は大部分が重複するため、リターンを意味します)非常に似ています)。ランダムフォレストや勾配ブーストツリーなど、教師付き学習アプローチにどのような潜在的な問題が発生する可能性がありますか? 私の考えは: データセットの有効サイズは、予想よりも小さくなります。つまり、たとえば100,000の観測のデータセットは、100'000 /(52 * 2)〜= 1000の観測のデータセットのように動作します。これは、応答に自己相関がないサンプルの数だからです。これは、データに適合できるモデルの複雑さに大きく影響します。つまり、過剰適合問題が発生し、予想よりもはるかに悪い結果になります。 フィーチャスペース内の各アイテムの連続した週にフィーチャが互いに非常に接近しているため、私のデータセットはフィーチャスペースを予想よりもかなりカバーし、データセットの「有効」サイズが減少します。 クロスバリデーションの検証に1年分のデータのみを使用すると、クロスバリデーションの結果の分散が大きくなります。これも、検証セットのサンプルの有効数が52 * Kではなく〜Kになるためです。 これらは有効な懸念事項ですか?はいの場合、K〜= 100の場合、ランダムフォレストや勾配ブーストツリーを使用するなど、数百の機能から合理的に複雑な非線形モデルをトレーニングするには、数千年ではなくても数百のデータが必要になるということですか?それとも、私は過度に悲観的で、上記の「有効なデータセットのサイズ」に関する私の議論は無意味ですか?

2
母集団間の違いを調査する
2つの母集団からのサンプルがあるAとしBます:と。これらの母集団は個人で構成されていると仮定し、個人を特徴の観点から説明することにします。これらの機能の一部はカテゴリ型であり(たとえば、機能するように駆動しますか?)、一部は機能的です(高さなど)。これらの機能をと呼びましょう。何百ものこれらの機能(例、n = 200)を収集します。簡単にするために、すべての個人にわたってエラーやノイズがないと仮定しましょう。X1…XnX1…XnX_1 \ldots X_n 2つの母集団は異なると仮定します。私たちの目標は、次の2つの質問に答えることです。 それらは実際に大きく異なりますか? それらの間の大幅な違いは何ですか? デシジョンツリー(ランダムフォレストなど)や線形回帰分析などの方法が役立ちます。たとえば、ランダムフォレストの特徴の重要性や線形回帰の近似係数を調べて、これらのグループを区別するものを理解し、特徴と母集団の関係を調査できます。 このルートに進む前に、ここで自分の選択肢を理解したいと思います。これは、良い方法と最新の方法と悪い方法の違いです。私の目標はそれ自体が予測ではなく、グループ間の有意差をテストして見つけることです。 この問題に対処するためのいくつかの原則的なアプローチは何ですか? ここに私が持っているいくつかの懸念があります: 線形回帰分析のような方法は、(2)に完全に答えない場合がありますよね?たとえば、1回の近似はいくつかの違いを見つけるのに役立ちますが、すべての重要な違いを見つけることはできません。たとえば、多重共線性により、すべての特徴がグループ間でどのように変化するかを見つけることができなくなる可能性があります(少なくとも1回の近似で)。同じ理由で、ANOVAは(2)についても完全な回答を提供できないと思います。 予測アプローチがどのように答えるかは完全には明らかではありません(1)。たとえば、どの分類/予測損失関数を最小化する必要がありますか?そして、フィットした後、グループが大幅に異なるかどうかをどのようにテストしますか?最後に、(1)で得られる答えが、使用する特定の分類モデルセットに依存する可能性があることを心配しています。

1
代数的分類子、詳細情報?
代数的分類器:高速交差検証、オンライントレーニング、並列トレーニングへの一般的なアプローチを読み、派生したアルゴリズムのパフォーマンスに驚かされました。ただし、Naive Bayes(およびGBM)を超えると、フレームワークに適応したアルゴリズムは多くないようです。 異なる分類子を扱った他の論文はありますか?(SVM、ランダムフォレスト)

2
回帰のより最近の観測により多くの重みを割り当てる
Rでより最近の観測により多くの重みを割り当てるにはどうすればよいですか? 私はこれをよくある質問または欲求と見なしますが、これを実装する方法を正確に理解するのに苦労します。私はこれについてたくさん検索しようとしましたが、良い実用的な例を見つけることができません。 私の例では、時間の経過とともに大きなデータセットができます。最近のデータ行にある種の指数重み付けを適用したいと言いたいです。したがって、2015年の観測は2012年の観測よりもモデルのトレーニングに重要であると言って、ある種の指数関数を持つことになります。 データセット変数にはカテゴリ値と数値の混合が含まれており、ターゲットは数値です-それが重要な場合。 GBRET / Random Forestなどのモデルを使用して、理想的にはCARETパッケージでテスト/試してみたいと思います。 更新質問 2つのポイント間の日付距離によって重みを指数関数的に減衰させる方法について、以下に示す応答に感謝します。 ただし、このモデルをキャレットでトレーニングする場合、重みはどの程度正確に考慮されますか?各トレーニング行の重み値は、将来のあるポイントとそのポイントが履歴的に発生したときの間の距離です。 重みは予測中にのみ機能しますか?なぜなら、それらがトレーニング中に出てきた場合、さまざまなクロスフォールドが異なる重みを持ち、実際にその前の時点であるかもしれない何かを予測しようとするため、あらゆる種類の問題を引き起こさないのではないでしょうか?

2
ブースティングのout-of-bagエラー推定?
ランダムフォレストでは、各ツリーはデータの一意のブーストラップサンプルで並行して成長します。各ブーストラップサンプルには一意の観測値の約63%が含まれていると予想されるため、観測値の約37%が除外され、ツリーのテストに使用できます。 現在、確率的勾配ブースティングでは、RFと同様の推定値もあるようです。OOBerrorOOBerrorOOB_{error} bag.fractionが0(0.5を推奨)より大きい値に設定されている場合、gbmは予測パフォーマンスの改善のout-of-bag推定を計算します。次の回帰ツリーの選択に使用されていない観測値の逸脱の減少を評価します。 出典:Ridgeway(2007)、セクション3.3(8ページ)。 それがどのように機能するか/有効であるかを理解するのに問題があります。シーケンスにツリーを追加するとします。元のデータセットのランダムなサブサンプルでこのツリーを成長させています。私はそれを育てるために使用されなかった観察でこの単一の木をテストすることができました。同意した。しかし、ブースティングはシーケンシャルなので、これらの省略された観測の予測を提供するために、これまでに構築されたツリーのシーケンス全体を使用しています。そして、先行する木々の多くがこれらの観察をすでに見ている可能性が高いです。したがって、モデルは実際にはRFのような目に見えない観測について各ラウンドでテストされていませんね? では、なぜこれが「out-of-bag」エラー推定と呼ばれるのでしょうか。私には、観察がすでに見られているので、それはどのバッグからも「出ていない」ように見えますか?

1
RandomForest-sklearnの分類しきい値
1)sklearnのRandomForestで分類しきい値(デフォルトでは0.5だと思います)を変更するにはどうすればよいですか? 2)sklearnでアンダーサンプリングするにはどうすればよいですか? 3)RandomForest分類器から次の結果が得られました:[[1635 1297] [520 3624]] precision recall f1-score support class 0 0.76 0.56 0.64 2932 class 1 0.74 0.87 0.80 4144 平均/合計0.75 0.74 0.73 7076 最初に、データは不均衡です(クラス0から30%、クラス1から70%)。したがって、分類子はクラス1に偏っている可能性が高いと思います。つまり、一部をクラス0からクラス1に移動します(クラス0には1297の誤分類がありますが、クラス1には520の誤分類があります)。どうすれば修正できますか?ダウンサンプリングが役立つ場合?または分類しきい値を変更しますか? 更新:クラス0は人口の40%、クラス1は60%です。ただし、クラス0からクラス1(1297)へのドリフトは高く、これは低くなります。

1
ランダムフォレストは、MNISTの2.8%テストエラーよりもはるかに優れていますか?
ランダムフォレストのMNIST、CIFAR、STL-10などへの適用に関する文献は見つかりませんでしたので、順列不変の MNISTを自分で試してみようと思いました。 ではR、私が試しました: randomForest(train$x, factor(train$y), test$x, factor(test$y), ntree=500) これは2時間実行され、2.8%のテストエラーが発生しました。 私はまた、scikit-learnを試しました RandomForestClassifier(n_estimators=2000, max_features="auto", max_depth=None) 70分後、2.9%のテストエラーが発生しましたが、代わりにn_estimators = 200を使用すると、わずか7分後に2.8%のテストエラーが発生しました。 OpenCVの、私が試しました rf.train(images.reshape(-1, 28**2), cv2.CV_ROW_SAMPLE, labels.astype('int')) これは6.5分間実行されrf、予測に使用すると15%のテストエラーが発生しました。params少なくともバージョン2.3.1では、ランダムフォレストへのPythonバインディングが引数を無視しているように見えるため、トレーニングしたツリーの数はわかりません。また、OpenCVに、回帰ではなく分類の問題を解決したいことを明確にする方法を理解できませんでした-に置き換えastype('int')てastype('float32')も同じ結果が得られるため、疑問があります。 ではニューラルネットワークのための順列不変のトレーニングは、おそらく一つのCPUに2時間以上かかるだろうが、MNISTベンチマーク、芸術の状態は、0.8%のテストエラーです。 ランダムフォレストを使用してMNISTで2.8%のテストエラーをはるかに上回ることは可能ですか?私は、一般的なコンセンサスは、ランダムフォレストは通常​​カーネルSVMと少なくとも同等であり、1.4%のテストエラーが発生する可能性があると考えていました。

1
RandomForestRegressorのout of bagエラー推定の解釈
データにRandomForestリグレッサーを使用していますが、oobスコアが0.83であることがわかりました。どうやってこのようになったのかわかりません。私の目標は10 ^ 7の範囲の高い値であることを意味します。したがって、それがMSEの場合は、はるかに高いはずです。ここで0.83の意味がわかりません。 私はsklearnツールキットのPythonのRandomForestRegressorを使用しています。 私がやります model = RandomForestRegressor(max_depth = 7、n_estimators = 100、oob_score = True、n_jobs = -1)model.fit(trainX、trainY) 次に、model.oob_score_を確認し、0.83809026152005295のような値を取得します

1
一部の入力に欠損値がある場合のrandomForest(R)による予測(NA)
randomForest新しいケースのクラスを予測するアプリケーションで使用したい細かい分類モデルがあります。新しいケースには必然的に欠損値があります。NAの場合、Predictはそのようには機能しません。それでは、どうすればよいですか。 data(iris) # create first the new case with missing values na.row<-45 na.col<-c(3,5) case.na<-iris[na.row,] case.na[,na.col]<-NA iris.rf <- randomForest(Species ~ ., data=iris[-na.row,]) # print(iris.rf) myrf.pred <- predict(iris.rf, case.na[-5], type="response") myrf.pred [1] <NA> 試しましたmissForest。元のデータと新しいケースを組み合わせ、それをmissForestでシェイクし、新しいケースでNAの帰属値を得ました。しかし、あまりにも重いコンピューティング。 data.imp <- missForest(data.with.na) しかし、rf-modelを使用して、欠損値のある新しいケースを予測する方法があるはずですよね?

1
観測されたイベントと期待されたイベントを比較する方法は?
4つの可能なイベントの頻度の1つのサンプルがあるとします。 Event1 - 5 E2 - 1 E3 - 0 E4 - 12 そして、私は自分のイベントの発生が予想される確率を持っています: p1 - 0.2 p2 - 0.1 p3 - 0.1 p4 - 0.6 4つのイベントの観測頻度の合計(18)を使用して、イベントの予想頻度を計算できますか? expectedE1 - 18 * 0.2 = 3.6 expectedE2 - 18 * 0.1 = 1.8 expectedE1 - 18 * 0.1 = 1.8 expectedE1 - …
9 r  statistical-significance  chi-squared  multivariate-analysis  exponential  joint-distribution  statistical-significance  self-study  standard-deviation  probability  normal-distribution  spss  interpretation  assumptions  cox-model  reporting  cox-model  statistical-significance  reliability  method-comparison  classification  boosting  ensemble  adaboost  confidence-interval  cross-validation  prediction  prediction-interval  regression  machine-learning  svm  regularization  regression  sampling  survey  probit  matlab  feature-selection  information-theory  mutual-information  time-series  forecasting  simulation  classification  boosting  ensemble  adaboost  normal-distribution  multivariate-analysis  covariance  gini  clustering  text-mining  distance-functions  information-retrieval  similarities  regression  logistic  stata  group-differences  r  anova  confidence-interval  repeated-measures  r  logistic  lme4-nlme  inference  fiducial  kalman-filter  classification  discriminant-analysis  linear-algebra  computing  statistical-significance  time-series  panel-data  missing-data  uncertainty  probability  multivariate-analysis  r  classification  spss  k-means  discriminant-analysis  poisson-distribution  average  r  random-forest  importance  probability  conditional-probability  distributions  standard-deviation  time-series  machine-learning  online  forecasting  r  pca  dataset  data-visualization  bayes  distributions  mathematical-statistics  degrees-of-freedom 

2
混合モデルのパラメトリック、セミパラメトリック、ノンパラメトリックブートストラップ
以下の移植片は、この記事から引用したものです。私はブートストラップの初心者であり、R bootパッケージを使用した線形混合モデルのパラメトリック、セミパラメトリック、ノンパラメトリックのブートストラップブートストラップを実装しようとしています。 Rコード これが私のRコードです: library(SASmixed) library(lme4) library(boot) fm1Cult <- lmer(drywt ~ Inoc + Cult + (1|Block) + (1|Cult), data=Cultivation) fixef(fm1Cult) boot.fn <- function(data, indices){ data <- data[indices, ] mod <- lmer(drywt ~ Inoc + Cult + (1|Block) + (1|Cult), data=data) fixef(mod) } set.seed(12345) Out <- boot(data=Cultivation, statistic=boot.fn, R=99) Out ご質問 …
9 r  mixed-model  bootstrap  central-limit-theorem  stable-distribution  time-series  hypothesis-testing  markov-process  r  correlation  categorical-data  association-measure  meta-analysis  r  anova  confidence-interval  lm  r  bayesian  multilevel-analysis  logit  regression  logistic  least-squares  eda  regression  notation  distributions  random-variable  expected-value  distributions  markov-process  hidden-markov-model  r  variance  group-differences  microarray  r  descriptive-statistics  machine-learning  references  r  regression  r  categorical-data  random-forest  data-transformation  data-visualization  interactive-visualization  binomial  beta-distribution  time-series  forecasting  logistic  arima  beta-regression  r  time-series  seasonality  large-data  unevenly-spaced-time-series  correlation  statistical-significance  normalization  population  group-differences  demography 

3
ランダムフォレスト回帰における応答分布依存バイアス
RのrandomForestパッケージ(Rバージョン2.13.1、randomForestバージョン4.6-2)を回帰に使用していて、結果に大きなバイアスがあることに気付きました。予測エラーは応答変数の値に依存しています。高い値は予測不足であり、低い値は予測過剰です。最初はこれが私のデータの結果であると疑いましたが、次の簡単な例は、これがランダムフォレストアルゴリズムに固有であることを示唆しています。 n = 1000; x1 = rnorm(n, mean = 0, sd = 1) response = x1 predictors = data.frame(x1=x1) rf = randomForest(x=predictors, y=response) error = response-predict(rf, predictors) plot(x1, error) バイアスは応答の分布に依存していると思います。たとえば、x1均一に分布している場合、バイアスはありません。場合x1指数関数的に分布され、バイアスは片側です。基本的に、正規分布の裾での応答の値は異常値です。モデルが外れ値を予測するのが難しいのは当然のことです。randomForestの場合、分布の裾からの極端な大きさの応答値は最終的にリーフに到達する可能性が低くなり、その効果はアンサンブル平均では洗い流されます。 前の例「R線形回帰の尾のランダムフォレストmtry」でこの効果をキャプチャしようとしたことに注意してください。これは悪い例でした。上記の例のバイアスがアルゴリズムに本当に固有のものである場合、予測しようとしている応答分布を前提としてバイアス補正を定式化でき、より正確な予測が得られます。 ランダムフォレストなどのツリーベースの方法は、応答分布バイアスの影響を受けますか?もしそうなら、これは以前に統計コミュニティーに知られていますか、そしてそれは通常どのように修正されますか(例えば、バイアスされたモデルの残差を入力として使用する2番目のモデル)? 本来、応答は不明であるため、応答依存バイアスの修正は困難です。残念ながら、推定/予測応答はバイアスと同じ関係を共有しないことがよくあります。

1
代替案とロジスティック回帰の間の実際的な&解釈の違いは何ですか?
Rのロジスティック回帰の代替案に関する最近の質問は、randomForest、gbm、rpart、bayesglm、および一般化された加法モデルを含むさまざまな回答をもたらしました。これらの方法とロジスティック回帰の実際的および解釈上の違いは何ですか?彼らはロジスティック回帰に関連してどのような仮定をしますか(しませんか)?仮説検定に適していますか?等。

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