デシジョンツリーアルゴリズムのガイド:アプリケーション、長所と短所、例

公開: 2020-12-10

機械学習アルゴリズムにはさまざまな種類があり、それぞれに固有のアプリケーションがあります。 この記事では、最も人気があり便利なMLアルゴリズムの1つであるディシジョンツリーアルゴリズムについて説明します。 Rのデシジョンツリーの例について説明しました。これは、その使用法に慣れるために役立ちます。 始めましょう。

目次

デシジョンツリーアルゴリズムとは何ですか?

デシジョンツリーは、ルートノードとリーフノードを持つ一種の教師あり機械学習アルゴリズムです。 すべてのノードは機能を表し、ノード間のリンクは決定を示します。 すべての葉は結果を表します。

野菜を買うために市場に行きたいとしましょう。 あなたには2つの選択肢があります:あなたが行くか、あなたが行かないかのどちらかです。 行かないと野菜は手に入りませんが、行かないと市場に行かなければならず、別の選択肢につながります。 デシジョンツリーはこのように機能します。

デシジョンツリーアプリケーション

決定木のいくつかのアプリケーションは次のとおりです。

マーケティング:

企業は、意思決定ツリーを使用して、競合他社の製品やサービスのパフォーマンスを観察することにより、プロモーションキャンペーンの精度を高めることができます。 デシジョンツリーは、オーディエンスのセグメンテーションに役立ち、コンバージョン率の高い、よりターゲットを絞った広告を作成するビジネスをサポートします。

顧客維持:

企業は、行動を分析し、それらの行動に適した新しいオファーや製品をリリースすることで、顧客維持のために意思決定ツリーを使用します。 デシジョンツリーモデルを使用することで、企業は顧客の満足度も把握できます。

病気や病気の診断:

デシジョンツリーは、糖尿病や認知症などの深刻な(または予防可能な)状態を発症するリスクが高い患者を特定する際に、医師や医療専門家を支援することができます。 特定の変数に従って可能性を絞り込む決定木の機能は、このような場合に非常に役立ちます。

不正の検出:

企業は、意思決定ツリーを使用して不正行為を事前に特定することにより、不正を防止できます。 それは時間とお金を含む多くの資源を企業に節約することができます。

デシジョンツリーの長所と短所

デシジョンツリーアルゴリズムの利点:

Rでデシジョンツリーを使用する主な利点は次のとおりです。

  • 結果の理解は他のモデルよりも簡単です。 技術チームにデシジョンツリーモデルをプログラムさせることができるので、より速く動作し、新しいインスタンスに適用できます。 その計算には、定性的または定量的モデルであるインスタンスに応じた包含テストがあります。
  • ノンパラメトリックです。 この理由により、問題に存在する独立変数は、特定の確率分布に従う必要はありません。 共線変数を持つことができます。 それらが識別しているかどうかにかかわらず、それらの変数を選択する必要がないため、決定木に影響を与えることはありません。
  • それらは欠落した値を処理することができます。 CHAIDは、欠落しているすべての値をカテゴリに入れます。これは、別の値とマージしたり、他の値から分離したりできます。
  • 極端な個々の値(外れ値など)は、決定木にあまり影響を与えません。 分類全体に影響を与えないように、それらを小さなノードに分離できます。
  • それはあなたに意思決定プロセスの素晴らしい視覚的表現を与えます。 デシジョンツリーのすべてのブランチは、デシジョンに影響を与える可能性のある要因を表しており、全体像を把握できます。 デシジョンツリーを使用して、チーム内のコミュニケーションを改善できます。
  • CARTツリーは、定性変数、連続変数、離散変数を含むすべての変数タイプを直接処理できます。

デシジョンツリーアルゴリズムのデメリット

  • すべての独立変数を同時に分析するわけではありません。 代わりに、それらを順番に評価します。 このため、ツリーはどのレベルでもノードの分割を修正することはなく、ツリーの選択に偏りが生じる可能性があります。
  • 変数が1つでも変更すると、ツリーの最上部に近い場合、ツリー全体に影響を与える可能性があります。 この問題を解決する方法があります。 たとえば、複数のサンプルでツリーを構築し、平均(または投票)に従ってそれらを集計できます。 これはリサンプリングと呼ばれます。 ただし、モデルをより複雑にすることでモデルの可読性が低下するため、別の一連の問題が発生します。 したがって、リサンプリングを通じて、決定木の最高品質を取り除くことができます。 なぜそれが問題なのですか? 1つの変数が特定のグループのすべての品質を持っているが、ツリーが分割される品質も持っていると仮定します。 この場合、ツリーは、その重要な品質を持っているという理由だけで、それを間違ったクラスに配置します。
  • デシジョンツリーの特定のレベルのすべてのノードは、前のレベルのノードに依存します。 つまり、レベル'n +1'のノードをどのように定義するかは、レベル'n'のノードの定義に完全に依存します。 レベル'n'での定義が間違っている場合、後続のすべてのレベルとそれらのレベルに存在するノードも間違っています。

学習:機械学習における線形回帰

Rの決定木(例)

Rで決定木を構築するには、rpartが必要です。分類にはrpartを使用します。 Rでは、決定を生成する再帰的パーティショニングアルゴリズムに基づいて決定木を構築し、それに伴って回帰ツリーを構築します。 2つのステップがあります。

  • まず、可能な限り最善の方法でデータを2つの別々のグループに分割する変数を特定します。
  • 次に、これらのグループが特定のサイズに達するまで、またはそれらのサブグループを改善できなくなるまで、すべてのサブグループで前の手順のプロセスを繰り返します。

例として次のデータがあります。

上記のデータには、自転車の時間と加速度が含まれています。 時間に応じて加速度を予測する必要があります。 これを行うには、次のようにします。

1library(rpart)

次に、データをロードします。

1data(バイク)

次に、散布図を作成します。

1plot(accel〜times、data =bike)

一度それを行い、ツリーを作成します。

1mct <-rpart(accel〜times、data =bike)

最後のステップは、グラフをプロットすることです。

1プロット(mct)

読む:完璧な決定木を作成する方法は?

最終的な考え

これで、Rのディシジョンツリーの完全に機能するモデルができました。ブログで、より類似したチュートリアルを見つけることができます。

意思決定ツリー、機械学習について詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのPGディプロマをご覧ください。これは、働く専門家向けに設計されており、450時間以上の厳格なトレーニング、30以上のケーススタディと課題を提供します。 、IIIT-B卒業生のステータス、5つ以上の実践的なキャップストーンプロジェクト、トップ企業との雇用支援。

デシジョンツリーアルゴリズムの最も重要な機能は何ですか?

デシジョンツリーアルゴリズムは、意思決定とリスク分析のための貴重なツールであり、多くの場合、グラフまたはルールのリストとして表されます。 デシジョンツリーアルゴリズムの使用の単純さは、その最も重要な特性の1つです。 それらは視覚的であるため、簡単に理解でき、関連性があります。 ユーザーがディシジョンツリーアルゴリズムの構築に慣れていない場合でも、それを正常に適用できます。 デシジョンツリーアルゴリズムは、以前の経験に基づいて将来のイベントを予測し、合理的な意思決定を支援するために最も一般的に使用されます。 デシジョンツリーアルゴリズムのもう1つの重要な分野は、データマイニングです。ここでは、以下で詳しく説明するように、デシジョンツリーが分類およびモデリングツールとして利用されます。

デシジョンツリーアルゴリズムはどれほど重要ですか?

デシジョンツリーアルゴリズムには、決定の考えられるすべての結果の分析を強制し、結論への各パスを追跡するという重要な利点があります。 各ブランチに沿った影響の詳細な調査を生成し、さらに調査が必要な意思決定ノードを示します。 また、すべての難易度、決定パス、および結果には、決定木アルゴリズムによって一意の値が割り当てられます。 この方法は、重要な意思決定ルートを強調し、不確実性を低減し、あいまいさを排除し、代替の行動方針の経済的影響を明らかにします。 事実情報が利用できない場合、ユーザーは意思決定ツリーアルゴリズムを使用して、状況の確率を使用することにより、オプションを相互に見通して簡単に比較できます。

デシジョンツリーアルゴリズムは、どの手法に基づいていますか?

デシジョンツリーアルゴリズムは、分類と回帰の問題に使用できるデシジョンツリー手法に基づいています。 この名前は、フローチャートのようなツリー構造を使用して、機能ベースの分割の連続から生じる予測を表示することを意味します。 ルートノードで始まり、リーフの決定で終わります。 決定木は、3種類のノードで構成されます。つまり、一般に決定ノードを表す正方形、通常は円で描かれるチャンスノード、およびエンドノードを表す三角形です。