タグ付けされた質問 「cart」

「分類と回帰ツリー」。CARTは人気のある機械学習手法であり、ランダムフォレストや勾配ブースティングマシンの一般的な実装などの手法の基礎を形成します。

2
ディシジョンツリーのカテゴリ機能をコーディングするためのベストプラクティスは?
線形回帰のカテゴリカル特徴をコーディングする場合、ルールがあります。ダミーの数は、レベルの総数よりも1少なくする必要があります(共線性を回避するため)。 ディシジョンツリーにも同様のルールがありますか(バグ、ブースト)?Pythonの標準的な方法はnレベルをnダミー(sklearns OneHotEncoderまたはPandas pd.get_dummies)に拡張するように思われるため、これを私は質問します。 ディシジョンツリーのカテゴリ機能をコーディングするためのベストプラクティスとして何を提案しますか?

3
ブースティング法が外れ値に敏感な理由
ブースティング方法は外れ値に敏感であると述べている記事を多く見つけましたが、その理由を説明する記事はありません。 私の経験では、外れ値はどの機械学習アルゴリズムにとっても悪いのですが、なぜブースティング法が特に敏感であると特定されているのですか? ブースターツリー、ランダムフォレスト、ニューラルネットワーク、SVM、ロジスティック回帰などの単純な回帰法など、外れ値に対する感度の観点から、次のアルゴリズムはどのようにランク付けされますか?


1
決定木のバイナリ分割の実装の違い
カテゴリー予測変数レベルに関連するため、決定ツリーでのバイナリ分割の実用的な実装に興味があります。バツjバツjX{j} 具体的には、意思決定ツリーを使用して予測モデルを構築するときに、予測精度と安定性を向上させるために、ある種のサンプリングスキーム(バギング、オーバーサンプリングなど)をよく利用します。これらのサンプリングルーチン中に、カテゴリ変数が完全なレベルセットよりも少ないツリーフィッティングアルゴリズムに提示される可能性があります。 変数Xがレベルを取るとしましょう{A,B,C,D,E}。サンプルでは、​​おそらくレベルのみ{A,B,C,D}が存在します。次に、結果のツリーを予測に使用すると、完全なセットが存在する場合があります。 この例を続けて、Xでツリーが分割さ{A,B}れ、左と{C,D}右に送信されるとします。バイナリ分割のロジックは、新しいデータに直面したときに「Xの値がAまたはBである場合は左に送信し、そうでない場合はこのケースを右に送信する」と言います。一部の実装で発生するように見えるのは、「Xの値がAまたはBの場合、左に送信し、Xの値がCまたはDの場合、右に送信する」です。このケースが値Eをとると、アルゴリズムは故障します。 バイナリ分割を処理する「正しい」方法は何ですか?はるかに堅牢な方法が頻繁に実装されているようですが、常にそうではありません(以下のRpartを参照)。 次に例を示します。 Rpartは失敗しますが、他は大丈夫です。 #test trees and missing values summary(solder) table(solder$PadType) # create train and validation set.seed(12345) t_rows<-sample(1:nrow(solder),size=360, replace=FALSE) train_solder<-solder[t_rows,] val_solder<-solder[-t_rows,] #look at PadType table(train_solder$PadType) table(val_solder$PadType) #set a bunch to missing levels(train_solder$PadType)[train_solder$PadType %in% c('L8','L9','W4','W9')] <- 'MISSING' #Fit several trees, may have to play with the parameters to …

2
パネルデータの機械学習アルゴリズム
この質問では- 構造化/階層的/マルチレベル予測子を考慮に入れる決定木を構築する方法はありますか?-彼らは木のパネルデータメソッドに言及しています。 ベクターマシンとニューラルネットワークをサポートするための特定のパネルデータメソッドはありますか?もしそうなら、アルゴリズムとそれを実装するRパッケージ(利用可能な場合)のいくつかの論文を引用できますか?

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

2
決定木と回帰-予測値がトレーニングデータの範囲外になることはありますか?
意思決定ツリーに関しては、予測値はトレーニングデータの範囲外にありますか? たとえば、ターゲット変数のトレーニングデータセットの範囲が0〜100の場合、モデルを生成して別のモデルに適用すると、値を-5にできますか?または150? 意思決定ツリーの回帰についての私の理解は、それが依然としてルールベース-左/右の進行であり、トレーニングセットのツリーの下部では特定の範囲外の値を見ることができないため、それを予測しますか?


3
映画の評価予測のための分類モデル
私はデータマイニングにいくらか慣れていません。映画の評価予測の分類モデルに取り組んでいます。 IMDBからデータセットを収集しましたが、モデルには決定木と最近傍アプローチを使用する予定です。自由に利用できるデータマイニングツールで、必要な機能を提供できるかどうか知りたいのですが。

2
決定木空間とランダムフォレストのMCMCサンプリング
ランダムフォレストはの集まりである決定木ランダムに(そして時にはトレーニングデータを袋詰め)と、各ツリーを構築するためのいくつかの特徴のみを選択することで形成されます。どうやら彼らはよく学び、一般化しています。誰かが決定木空間のMCMCサンプリングを行ったか、ランダムフォレストと比較しましたか?MCMCを実行してすべてのサンプリングされたツリーを保存すると、計算コストが高くなる可能性があることはわかっていますが、計算コストではなく、このモデルの理論的な機能に興味があります。つまり、次のようなものです。 ランダムな決定木を構築します(恐らく恐ろしく実行されます) ようなものでツリーの尤度を計算するか、おそらくP p r i o r(T r e e )を追加します期間。P(Tr e e | D a t a )∝ P(D a t a | Tr e e )P(Tree|Data)αP(Data|Tree)P(Tree|Data) \propto P(Data|Tree)PP R I O R(Tr e e )Ppr私or(Tree)P_{prior}(Tree) ランダムなステップを選択してツリーを変更し、尤度基づいて選択します。P(Tr e e | D A T A )P(Tree|Data)P(Tree|Data) Nステップごとに、現在のツリーのコピーを保存します 大きなN * …

2
分類ツリー(rpart内)を一連のルールに編成していますか?
(Rの)rpartを使用して複雑な分類ツリーが構築されたら、各クラスに対して生成された決定ルールを整理する方法はありますか?では、1つの巨大なツリーを取得する代わりに、クラスごとに一連のルールを取得しますか? (もしそうなら、どうですか?) 以下に、例を示す簡単なコード例を示します。 fit <- rpart(Kyphosis ~ Age + Number + Start, data=kyphosis) ありがとう。
11 r  classification  cart  rpart 

3
スパースな予測子と応答を使用するCARTのようなメソッドに使用できるライブラリはありますか?
私は、Rのgbmパッケージを使用していくつかの大きなデータセットを処理しています。予測子行列と応答ベクトルの両方がかなりスパースです(つまり、ほとんどのエントリがゼロです)。ここで行ったように、この疎性を利用するアルゴリズムを使用して決定木を構築したいと思っていました。その論文では、私の状況と同様に、ほとんどのアイテムは多くの可能な機能のほんの一部しか持っていないため、データで明示的に示されていない限り、アイテムに特定の機能がないと想定することで、多くの無駄な計算を回避できました。私の希望は、この種のアルゴリズムを使用して同様の高速化を実現できることです(そして、予測精度を向上させるために、ブースティングアルゴリズムをラップします)。 彼らは自分のコードを公開していないようだったので、この場合に最適化されたオープンソースのパッケージまたはライブラリ(任意の言語)があるかどうか疑問に思っていました。理想的には、RのMatrixパッケージからスパース行列を直接取得できるものを望みますが、取得できるものは取得します。 私は周りを見回しました、そしてこの種のものはそこにあるはずです: 化学者はこの問題に頻繁に遭遇するようです(上でリンクした論文は、新しい薬物化合物を見つけることを学ぶことに関するものでした)。ただし、そのうちの1つを転用することもできます。 ドキュメント分類は、スパースフィーチャスペースからの学習が役立つ領域でもあるようです(ほとんどのドキュメントにはほとんどの単語が含まれていません)。たとえば、このペーパーでは、C4.5(CARTのようなアルゴリズム)のスパース実装への斜めの参照がありますが、コードはありません。 メーリングリストによると、WEKAはスパースデータを受け入れることができますが、上記でリンクした論文の方法とは異なり、WEKAはCPUサイクルの浪費を回避するという点で実際にそれを利用するように最適化されていません。 前もって感謝します!

2
バギングされたツリー/ランダムフォレストツリーは、単一の決定ツリーよりもバイアスが高いのはなぜですか?
完全に成長した決定木(つまり、枝刈りされていない決定木)を考えると、分散が大きく、バイアスが低くなります。 バギングおよびランダムフォレストは、これらの高分散モデルを使用し、分散を減らして予測精度を高めるためにそれらを集約します。バギングフォレストとランダムフォレストはどちらもブートストラップサンプリングを使用します。「統計学習の要素」で説明されているように、これにより単一ツリーのバイアスが増加します。 さらに、ランダムフォレスト法では、各ノードで分割できる変数が制限されるため、単一のランダムフォレストツリーのバイアスがさらに大きくなります。 したがって、予測精度が向上するのは、バギングおよびランダムフォレストの単一ツリーのバイアスの増加が分散の減少を「過度に」超えていない場合のみです。 これにより、次の2つの質問が生じます。1)ブートストラップサンプリングを使用すると、(ほとんどの場合)ブートストラップサンプルに同じ観察結果がいくつかあることを知っています。しかし、なぜこれがバギング/ランダムフォレストの個々の木のバイアスの増加につながるのでしょうか。2)さらに、分割ごとに分割できる変数の制限により、ランダムフォレスト内の個々のツリーでバイアスが高くなるのはなぜですか?

1
R / mgcv:なぜte()とti()テンソル積が異なる表面を生成するのですか?
のmgcvパッケージにRは、テンソル積の相互作用をフィッティングするための2つの関数がte()ありti()ます。私は2つの作業の基本的な分業を理解しています(非線形の相互作用を当てはめるか、この相互作用を主効果と相互作用に分解するか)。私が理解していないのは、なぜte(x1, x2)、そしてti(x1) + ti(x2) + ti(x1, x2)(わずかに)異なる結果を生成するのかということです。 MWE(から適応?ti): require(mgcv) test1 <- function(x,z,sx=0.3,sz=0.4) { x <- x*20 (pi**sx*sz)*(1.2*exp(-(x-0.2)^2/sx^2-(z-0.3)^2/sz^2)+ 0.8*exp(-(x-0.7)^2/sx^2-(z-0.8)^2/sz^2)) } n <- 500 x <- runif(n)/20;z <- runif(n); xs <- seq(0,1,length=30)/20;zs <- seq(0,1,length=30) pr <- data.frame(x=rep(xs,30),z=rep(zs,rep(30,30))) truth <- matrix(test1(pr$x,pr$z),30,30) f <- test1(x,z) y <- f + rnorm(n)*0.2 par(mfrow = c(2,2)) # …
11 r  gam  mgcv  conditional-probability  mixed-model  references  bayesian  estimation  conditional-probability  machine-learning  optimization  gradient-descent  r  hypothesis-testing  wilcoxon-mann-whitney  time-series  bayesian  inference  change-point  time-series  anova  repeated-measures  statistical-significance  bayesian  contingency-tables  regression  prediction  quantiles  classification  auc  k-means  scikit-learn  regression  spatial  circular-statistics  t-test  effect-size  cohens-d  r  cross-validation  feature-selection  caret  machine-learning  modeling  python  optimization  frequentist  correlation  sample-size  normalization  group-differences  heteroscedasticity  independence  generalized-least-squares  lme4-nlme  references  mcmc  metropolis-hastings  optimization  r  logistic  feature-selection  separation  clustering  k-means  normal-distribution  gaussian-mixture  kullback-leibler  java  spark-mllib  data-visualization  categorical-data  barplot  hypothesis-testing  statistical-significance  chi-squared  type-i-and-ii-errors  pca  scikit-learn  conditional-expectation  statistical-significance  meta-analysis  intuition  r  time-series  multivariate-analysis  garch  machine-learning  classification  data-mining  missing-data  cart  regression  cross-validation  matrix-decomposition  categorical-data  repeated-measures  chi-squared  assumptions  contingency-tables  prediction  binary-data  trend  test-for-trend  matrix-inverse  anova  categorical-data  regression-coefficients  standard-error  r  distributions  exponential  interarrival-time  copula  log-likelihood  time-series  forecasting  prediction-interval  mean  standard-error  meta-analysis  meta-regression  network-meta-analysis  systematic-review  normal-distribution  multiple-regression  generalized-linear-model  poisson-distribution  poisson-regression  r  sas  cohens-kappa 

1
Adaboostで意思決定の切り株を弱学習器として使用する方法
Decision Stumpを使用してAdaboostを実装したい。Adaboostの各反復で、データセットの機能と同じ数の決定の切り株を作ることは正しいですか? たとえば、24の特徴を持つデータセットがある場合、各反復で24の決定株の分類子を使用する必要がありますか?または、いくつかの機能をランダムに選択して、すべての機能ではなくそれらに分類子を作成する必要がありますか?

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