web-dev-qa-db-ja.com

複雑さまたはパフォーマンスの比較を含むさまざまな決定木アルゴリズム

私はデータマイニング、より正確には決定木に関する研究を行っています。

意思決定ツリーを構築するための複数のアルゴリズム(または1つだけ)があるかどうか、そして次のような基準に基づいてどちらが良いかを知りたい

  • 性能
  • 複雑
  • 意思決定の誤り
  • もっと。
36
Youssef

デシジョンツリーの実装は、主にこれらの軸に沿って異なります。

  • splitting criteria(つまり、「分散」の計算方法)

  • regression(連続変数、たとえばスコア)およびclassification(離散変数、たとえばクラスラベル)

  • 過剰適合を除去/削減する手法

  • 不完全なデータを処理できるかどうか


主要なディシジョンツリーの実装は次のとおりです。

  • ID3、または反復Dichotomizerは、Ross Quinlan(Quinlan、JR 1986. Induction of Decision Trees。Mach。Learn 。1、1(1986年3月)、81-106)

  • [〜#〜] cart [〜#〜]、またはClassification And Regression Treesがよく使用されます決定ツリーという用語の一般的な頭字語ですが、明らかにより具体的な意味があります。要するに、CARTの実装はC4.5と非常に似ています。 1つの注目すべき違いは、CARTがデータに再帰的に適用される数値分割基準に基づいてツリーを構築するのに対して、C4.5にはrule setsを構築する中間ステップが含まれることです。

  • C4.5、Quinlanの次の反復。 (ID3に対して)新しい機能は次のとおりです。(i)連続機能と離散機能の両方を受け入れます。 (ii)不完全なデータポイントを処理します。 (iii)通常「プルーニング」として知られる(非常に巧妙な)ボトムアップ手法により、過剰適合問題を解決します。 (iv)トレーニングデータを構成する機能に異なる重みを適用できます。これらのうち、最初のthreeは非常に重要です。選択するDT実装には3つすべてを含めることをお勧めします。 4番目(微分重み付け)はそれほど重要ではありません

  • C5.0、最新のQuinlan反復。この実装は特許で保護されており、おそらくその結果、(商用ソフトウェアパッケージ以外で)実装されることはほとんどありません。私は自分でC5.0の実装をコーディングしたことはない(ソースコードを見たこともない)ので、C5.0とC4.5の情報に基づいた比較を提供することはできません。私はその発明者(Ross Quinlan)が主張する改善について常に懐疑的でした。例えば、彼はそれがC4.5よりも「数桁」速いと主張しています。他のクレームも同様に広範です(「メモリ効率が大幅に向上」など)。 studies の2つを比較した結果を報告するだけで、自分で決めることができます。

  • [〜#〜] chaid [〜#〜](カイ二乗自動相互作用検出器)は、実際に元のID3実装を約6年前に公開します( 1980年のゴードン・カスによる博士論文)。私はこのテクニックについて少しずつ知っています。Rプラットフォームには [〜#〜] chaid [〜#〜] というパッケージがあり、優れたドキュメントが含まれています

  • [〜#〜] mars [〜#〜](マルチ適応回帰スプライン)は、実際にはMARSの元の発明者であるSalford Systemsによって商標登録された用語です。 。その結果、Salfordが販売していないライブラリのMARSクローンは、MARS以外の名前が付けられています。たとえば、Rでは、関連する関数はpoly-splineライブラリのpolymarです。 MatlabとStatisticaには、MARS機能を備えた実装もあります

CARTまたはC4.5をお勧めします(ただし、C5.0またはCHAIDの直接的な経験はありませんが、それらの機能セットには精通しています)。

C4.5は、 Orange ;で実装されたディシジョンツリーフレーバーです。 CARTは、 sklearn ---両方の優れたMLライブラリでの優れた実装のフレーバーです。

C4.5は、ID3を超える主要なステップです(両方ともrangeの観点から)(C4.5は、トレーニングデータの連続変数を処理できるため、はるかに幅広いユースケーススペクトルを持っています)およびモデルの品質

おそらく、C5.0対C4.5の最も重要な改善点は、boosted treesのサポートです。オレンジのDT実装には、ブーストされたツリーとランダムフォレストのDTのアンサンブルサポートが含まれています。ここでは、C4.5アルゴリズムにアンサンブルサポートが追加されました。 sklearnは、ランダムフォレストとブースティング方法の範囲も備えています。

80
doug