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

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

2
複数の出力を持つランダムフォレストは可能/実用的でしょうか?
ランダムフォレスト(RF)は、競合するデータモデリング/マイニング手法です。 RFモデルには、出力/予測変数という1つの出力があります。 RFを使用して複数の出力をモデル化する単純なアプローチは、各出力変数に対してRFを構築することです。したがって、N個の独立したモデルがあり、出力変数間に相関がある場合、冗長/重複モデル構造になります。これは確かに非常に無駄です。また、一般的なルールとして、より多くのモデル変数は、よりオーバーフィットモデル(一般化が少ない)を意味します。ここでこれが当てはまるかどうかはわかりませんが、おそらく当てはまります。 原則として、複数の出力を持つRFを使用できます。予測変数はベクトル(nタプル)になりました。各決定木の決定ノードは、しきい値ベクトルに基づいてターゲット/予測ベクトルのセットを分割しています。このしきい値はn次元空間の平面であると考えられるため、しきい値のどちら側を決定できるかそれぞれのターゲットベクトルがオンになっています。 決定分割の各側の最適な予測値は、各側のベクトルに対して計算された平均(重心)です。 単一変数を操作するときに最適な分割点を見つけるのは簡単で、計算が高速/効率的です。nタプルの場合、最適な分割を見つけることはできません(または、少なくともNが増加すると計算上実行不可能になります)が、モンテカルロタイプの方法(またはモンテカルロとローカルのハイブリッドを使用して、ほぼ最適な分割を見つけることができます。勾配トラバーサル)。 これは実際に機能しますか?つまり、一般化せずにトレーニングペアをマッピングするだけですか?この手法はすでに別の名前で存在していますか? また、これが制限付きボルツマンマシン(RBM)やDeep Belief Networksなどのニューラルネットにどのように関連するかを検討することもできます。

2
CARTで複雑度パラメーターを選択する
CARTモデルを作成するrpart()ルーチンで、ツリーをプルーニングする複雑度パラメーターを指定します。複雑度パラメーターを選択するための2つの異なる推奨事項を見てきました。 可能な最小相互検証エラーに関連付けられた複雑度パラメーターを選択します。この方法は、Quick-RおよびHSAURで推奨されています。 推定交差検定誤差が、最小可能交差検定誤差のSE内にある最大の複雑度パラメーターを選択します。これは、このプロットを参照して、「プルーニング用のcpの適切な選択は、平均が水平線より下にある最も左の値であることが多い」というパッケージドキュメントの解釈です。 cpの2つの選択により、データセット内でまったく異なるツリーが生成されます。 最初の方法は常に、より複雑な、潜在的にオーバーフィットしたツリーを生成するようです。他の長所、短所、文献の推奨事項などはありますか。どの方法を使用するかを決める際に考慮する必要がありますか?特定のモデリング問題が役立つ場合は、それに関する詳細情報を提供できますが、この質問を他の人に関連するように十分に広くしようとしています。
16 r  cart  rpart 

1
2つの決定木の合計は、単一の決定木と同等ですか?
入力を出力マッピングする2つの回帰ツリー(ツリーAとツリーB)があるとします。ましょうツリーA及びため各ツリーは、分離機能として超平面を用いて、バイナリ分割を使用してツリーB.ため。X ∈ Rdバツ∈Rdx \in \mathbb{R}^dy^∈ Ry^∈R\hat{y} \in \mathbb{R}y^= fA(x )y^=fA(バツ)\hat{y} = f_A(x)fB(x )fB(バツ)f_B(x) ここで、ツリー出力の重み付き合計を取ると仮定します。 fC(x )= wA fA(x )+ wB fB(x )fC(バツ)=wA fA(バツ)+wB fB(バツ)f_C(x) = w_A \ f_A(x) + w_B \ f_B(x) 関数は、単一の(より深い)回帰ツリーと同等ですか?fCfCf_C答えが「時々」である場合、どのような条件下でですか? 理想的には、斜めの超平面(フィーチャの線形結合で実行される分割)を許可したいと思います。しかし、単一機能の分割が利用可能な唯一の答えであれば、それは大丈夫かもしれないと仮定します。 例 以下は、2D入力空間で定義された2つの回帰木です。 この図は、各ツリーが入力領域を分割する方法と、各領域の出力(グレースケールでコーディング)を示しています。色付きの数字は、入力スペースの領域を示します。3、4、5、6はリーフノードに対応します。1は3と4の結合などです。 ここで、ツリーAとBの出力を平均すると仮定します。 平均出力は左側にプロットされ、ツリーAとBの判定境界が重ねられています。この場合、出力が平均(右側にプロット)に等しい単一のより深いツリーを構築できます。各ノードは、ツリーAおよびBによって定義された領域から構築できる入力空間の領域に対応します(各ノードの色付きの数字で示されます。複数の数字は2つの領域の交差を示します)。このツリーは一意ではないことに注意してください。ツリーAではなくツリーBから構築を開始することもできます。 この例は、答えが「はい」である場合が存在することを示しています。これが常に真実かどうか知りたい。

1
子ノードのジニ減少とジニ不純物
ランダムフォレストのGini機能重要度測定に取り組んでいます。したがって、ノードの不純物のGini減少を計算する必要があります。ここに私がそうする方法があり、それは定義との矛盾につながり、私はどこかに間違っている必要があることを示唆しています... :) 二分木の場合、左と右の子の確率を考えると、ノード Gini不純性を計算できます。nnn i(n)=1−p2l−p2ri(n)=1−pl2−pr2 i(n) = 1 - p_l^2 - p_r^2 そして、Giniが減少します。 Δi(n)=i(n)−pli(nl)−pri(nr)Δi(n)=i(n)−pli(nl)−pri(nr) \Delta i(n) = i(n) - p_li(n_l) - p_ri(n_r) したがって、ノードに110個の観測があるこの例の場合: - node (110) - left (100) - left_left (60) - left_right (40) - right (10) - right_left (5) - right_right (5) 次のようにノードのGiniの減少を計算します。 私(left)i (r i g ht)i …

2
Rでのツリーの分割:パーティとrpart
木を分割するのを見てからしばらく経ちました。前回このようなことをしたとき、R(Hothornが作成)のパーティーが好きです。サンプリングによる条件付き推論のアイデアは私にとって理にかなっています。しかし、rpartにも魅力がありました。 現在のアプリケーションでは(詳細は説明できませんが、逮捕者の大規模なサンプルの中で誰が刑務所に入るかを決定することを伴います)ランダムフォレスト、バギング、ブースティングなどの高度な方法は使用できません-簡単に説明できるものが必要ですルール。 また、Zhang&Singer(2010)Recursive Partitioning and Applicationsで推奨されているように、どのノードを分割するかを手動で制御したいと思います。その本に付属しているフリーウェアはこれを可能にしますが、それ以外の点ではユーザー入力がかなり原始的です。 推奨事項や提案はありますか?
15 r  cart  rpart  partitioning 

1
連続変数を予測するとき、決定木分割はどのように実装する必要がありますか?
私は実際にランダムフォレストの実装を書いていますが、質問は(RFに依存しない)決定木に固有のものだと思います。 したがって、コンテキストは、意思決定ツリーにノードを作成しており、予測変数とターゲット変数の両方が連続しているということです。ノードには、データを2つのセットに分割するための分割しきい値があり、各セットの平均ターゲット値に基づいて各サブセットの新しい予測を作成します。これは正しいアプローチですか? 私が尋ねる理由は、バイナリ変数を予測するとき、典型的な(正しい?)アプローチは、各サブセットのデータ行の平均を取らずにデータを0と1のサブセットに分割することだと思うからです。後続の分割はよりきめの細かいサブセットに分割され、各分割結果で平均を取得します(決定ツリーの下で)後続の分割はバイナリ変数ではなく連続変数に作用します(元の値ではなく残留誤差値に作用しているため)ターゲット)。 副次的な質問:2つのアプローチ(バイナリと連続)の違いは重要ですか?または、完全な決定木に対して実際に同じ結果が得られますか?


1
決定木の深さ
デシジョンツリーアルゴリズムはすべてのステップで属性で分割されるため、デシジョンツリーの最大の深さはデータの属性の数に等しくなります。これは正しいです?

3
各葉に線形回帰モデルを使用した回帰ツリーアルゴリズム
短いバージョン:意思決定ツリーを構築できるRパッケージを探していますが、意思決定ツリーの各リーフは完全な線形回帰モデルです。知る限り、ライブラリrpartは、各リーフで従属変数が定数である決定木を作成します。rpartそのようなツリーを構築できる別のライブラリ(または私が知らない設定)はありますか? ロングバージョン:トレーニングデータセットに基づいて決定木を構築するアルゴリズムを探しています。ツリー内の各決定は、独立変数の1つの条件に従って、トレーニングデータセットを2つの部分に分割します。ツリーのルートには完全なデータセットが含まれ、データセットの各アイテムは1つのリーフノードに含まれています。 アルゴリズムは次のようになります。 ツリーのルートノードである完全なデータセットから始めます。このノードを選択してと呼びますNNN。 のデータに線形回帰モデルを作成します。NNN 場合はのさん線形モデルがある閾値以上である、そして、我々が行われている、そのマークステップ5に葉やジャンプなど。 N θ R 2 N NR2R2R^2NNNθR2θR2\theta_{R^2}NNNNNN ランダムな決定を試して、サブノードで最適なを生成するものを選択します。 R 2nnnR2R2R^2 ランダムな独立変数と、ランダムなしきい値ます。θ Iviviv_iθiθi\theta_i 決定は、のデータセットを2つの新しいノードおよび分割します。 N N 〜Nvi≤θivi≤θiv_i \leq \theta_iNNNN^N^\hat{N}N~N~\tilde{N} と両方で線形回帰モデルを作成し、それらのを計算します(それらをおよびと呼びます)。 〜N R2、R 〜RN^N^\hat{N}N~N~\tilde{N}R2R2R^2r^r^\hat{r}r~r~\tilde{r} それらすべてのタプルから、最大持つものを選択します。これによりツリーで新しい決定が行われ、は2つの新しいサブノードおよび\ tilde {N}が追加されます。(V I、θ I、R、〜R)は、mは、I N (R、〜R)N N 〜Nnnn(vi,θi,r^,r~)(vi,θi,r^,r~)(v_i, \theta_i, \hat{r}, \tilde{r})min(r^,r~)min(r^,r~)min(\hat{r}, \tilde{r})NNNN^N^\hat{N}N~N~\tilde{N} 処理が完了しました。まだ処理されていない新しいノードを選択し、手順2に戻ります。すべてのノードが処理された場合、アルゴリズムは終了します。NNNNNNN これにより、データを小さな部分に分割し、各部分の線形モデルを計算する決定ツリーが再帰的に構築されます。 ステップ3は終了条件であり、アルゴリズムが過剰適合するのを防ぎます。もちろん、他の可能な終了条件があります。 ツリーのの深さが超える場合は終了しNNNθdepthθdepth\theta_{depth} のデータセットがより小さい場合は終了しますNNNθdatasetθdataset\theta_{data set} Rパッケージにそのようなアルゴリズムはありますか?
14 r  regression  rpart  cart 

3
CARTモデルを堅牢にすることはできますか?
私のオフィスの同僚は、今日、「ツリーモデルは極端な観察に巻き込まれるため、良くない」と私に言いました。 ここで検索した結果、このスレッドは基本的にクレームをサポートしています。 それは私を疑問に導きます-どのような状況でCARTモデルは堅牢になりますか、そしてそれはどのように示されますか?

5
ランダムフォレストおよび決定木アルゴリズム
ランダムフォレストは、バギングの概念に従う決定木の集合です。ある決定木から次の決定木に移動すると、最後の決定木で学習した情報は次の決定木にどのように進みますか? 私の理解では、すべての決定木に対して作成され、次の決定木が誤分類されたエラーから学習を開始する前にロードされる訓練されたモデルのようなものは何もないからです。 それでは、どのように機能しますか?

3
マルチレベル/階層構造データのランダムフォレスト
私は機械学習やCART技術などは初めてであり、私の素朴さがあまり明白ではないことを願っています。 ランダムフォレストは、マルチレベル/階層データ構造をどのように処理しますか(たとえば、クロスレベルの相互作用が重要な場合)。 つまり、いくつかの階層レベルでの分析の単位を含むデータセット(たとえば、学生と学校の両方に関するデータを含む、学校内にネストされた学生)。 単なる例として、第1レベルの個人(たとえば、投票行動、人口統計などのデータ)が第2レベル(国レベルのデータ、たとえば人口)の国にネストされたマルチレベルデータセットを考えます。 ID voted age female country population 1 1 19 1 1 53.01 2 1 23 0 1 53.01 3 0 43 1 1 53.01 4 1 27 1 1 53.01 5 0 67 0 1 53.01 6 1 34 1 2 47.54 7 0 54 1 …

2
分類および回帰木の背後にある数学
誰でもCARTの分類の背後にある数学のいくつかを説明できますか?2つの主要な段階がどのように発生するかを理解したいと思っています。たとえば、データセットでCART分類器をトレーニングし、テストデータセットを使用してその予測パフォーマンスをマークしましたが、 ツリーの初期ルートはどのように選択されますか? 各ブランチはなぜ、どのように形成されますか? 15列23クラスの40万件のレコードであるデータセットは、混同マトリックスから100%の精度を達成します。データセットで10倍の交差検証を使用します。誰かがCART分類の段階を説明するのを手伝ってもらえたら本当にうれしいです。

9
Pythonで決定木をブーストしましたか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、相互検証のトピックになるようにします。 4か月前に閉鎖されました。 ブーストされた決定木をトレーニングするための優れたpythonライブラリはありますか?
13 python  cart  boosting 


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