完璧な決定木を作成する方法| デシジョンツリーアルゴリズム[例付き]
公開: 2020-03-30「デシジョンツリーを作成する方法」または「Javaでデシジョンツリーを作成できますか」と疑問に思っている場合は、適切な場所に来ています。 この記事では、決定木について詳しく説明するなど、そのような質問に対する回答を見つけます。 それらが何であるか、なぜそれらがとても人気があるのか、そしてそれらの1つを作成する方法を知ることができます。
デシジョンツリーを作成する前に、線形回帰やアルゴリズムなど、他のいくつかのトピックに精通している必要があります。
続きを読む: Rのディシジョンツリー
目次
デシジョンツリーとは何ですか?
デシジョンツリーは、特定の選択のすべての可能な結果のマップを提供します。 さまざまな選択に応じて、さまざまなシナリオで将来のアクションを計画するのに役立ちます。 それらの確率とコストに基づいて、それらの可能な結果を比較できます。
名前が示すように、決定木はツリーに似たグラフを示します。 これは、意思決定のモデルであり、それらすべての結果と結果も含まれます。 その最終的な目標は、可能な限り少ない数の選択肢を通過しながら、分類を正しく実行できるようにすることです。
決定木を使用してブール関数を表すこともできます。 デシジョンツリーの各リーフノードはクラスラベルであり、ツリーの内部ノードは属性を示します。 それらは1つのノードから始まり、すべての可能性に分岐します。 それらのブランチのすべては、他の考えられる結果を表すより多くのノードにつながります。 Javaでデシジョンツリーを作成できます。

デシジョンツリーには、さまざまな種類のノードがあります。
- 決定ノード
- チャンスノード
- エンドノード
エンドノードは決定パスの最終結果を反映し、チャンスノードは特定の結果のチャンスを示します。 決定ノードは、考えられる結果につながる決定を示します。 デシジョンツリーを使用して、アルゴリズムによる予測を計画したり、非公式な決定を行ったりすることができます。
デシジョンツリーとは何かを理解したところで、もう少し深く掘り下げて、なぜそれが普及しているのかを理解する必要があります。 飛び込みましょう。
デシジョンツリーのアプリケーション
決定木のいくつかのアプリケーションを次に示します。これにより、それらがどれほど普及しているかを確認できます。
- 銀行はそれらを使用してローン申請を分類します
- 財務専門家はオプション価格設定に決定木を使用します
- 候補者の専門知識のレベルに応じて試験問題を分類する
- 求人を受け入れるか拒否するかを選択する
- 企業が製品を変更する必要があるかどうかなど、重要なビジネス上の意思決定を行います。
あなたはあなたの人生で様々な選択をする際に自分で決定木を使用したに違いありません。 複雑な決定を下さなければならないいくつかのシナリオを考え出すだけです。
デシジョンツリーの利点
デシジョンツリーを使用することには多くの利点があります。 ここにあります:
- デシジョンツリーは、簡単に理解できるルールを生成します。 これらのルールを他のシステムに伝えるのは難しいことではありません。
- それらは、カテゴリ変数と連続変数の両方を処理できます
- デシジョンツリーは、すべてのフィールドの重要性を簡単に示します。 同じことに従って、簡単に予測(または分類)を行うことができます。
- デシジョンツリーは、データ探索に役立つ特徴選択も暗黙的に実行します。
詳細:人工知能アルゴリズム

デシジョンツリーのデメリット
すべてに欠点があり、決定木も例外ではありません。 それらを使用する際のいくつかの問題があります:
- デシジョンツリーは、推定タスクの実行には役立ちません。 これは、そのようなジョブでは連続属性の値の予測が必要であり、決定木はそれが得意ではないためです。
- 計算上、決定木は他のオプションよりも高価です。 他のモデルと比較して、デシジョンツリーモデルのトレーニングにも多くの費用がかかります。 デシジョンツリーの作成に使用するプルーニングアルゴリズムも、多くのサブツリーを構築する必要があるため、非常にコストがかかります。
- クラスの例が多いがトレーニングの例が少ない場合、決定木はあまり正確ではなく、エラーが含まれる可能性が非常に高くなります。
デシジョンツリーを作成する方法
人がコンピュータを購入するかどうかについての決定木を作成しましょう。 この場合、「はい」と「いいえ」の2つのクラスがあります。 最初のクラスはコンピューターを購入する人を指し、2番目のクラスは購入しない人を指します。 まず、これらのクラスの情報ゲインとエントロピーを計算します。
これらのクラスのエントロピーを計算したら、情報の取得に焦点を当てます。 エントロピーの値は次のように分類できます。
エントロピーが0の場合、データが純粋(均質)であることを意味します
エントロピーが1の場合、データが不純(半分に分割されている)であることを意味します
私たちのエントロピーが不純であると仮定しましょう。 次に、情報の取得を年齢で分割します。 このように、私たちのデータは、特定の年齢層の何人がこの製品を購入し、何人が購入しないかを示します。 複数の属性の情報ゲインを計算できます。 しかし、この例では、情報の獲得は「年齢」で最も高く、「収入」で最も低いことがわかりました。 だから、私たちはそれで行きます。
この決定木の分類ルールは次のとおりです。
誰かの年齢が30歳未満で、その人が学生でない場合、その人は製品を購入しないので、次のようになります。
年齢(<30)^学生(いいえ)=いいえ
ただし、年齢が30歳未満で学生の場合は、次の製品を購入します。
年齢(<30)^学生(はい)=はい
今、彼らの年齢が31歳から40歳の間にある場合、彼らは確かに製品を購入するでしょう:
年齢(31…40)=はい
40歳以上で信用格付けの高い人は、次のものを購入しません。
年齢(> 40)^ credit_rating(high)= NO
一方、40歳以上で平均的な信用格付けを持っている人は、次の製品を購入します。

年齢(> 40)^ credit_rating(normal)= YES
これらの手順に従うことで、問題なく完璧な決定木を作成することができます。
についてもっと知る:知っておくべき上位9つの機械学習ライブラリ
結論
ここで、決定木の作成方法を知っている必要があります。 機械学習コースでは、決定木と関連するアルゴリズムについてさらに詳しく学ぶことができます。 Javaでデシジョンツリーを作成する方法、実際にデシジョンツリーを使用する方法などを学ぶことができるので、そこで知識を深めることができると確信しています。
機械学習について詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのPGディプロマをご覧ください。これは、働く専門家向けに設計されており、450時間以上の厳格なトレーニング、30以上のケーススタディと課題、IIIT-を提供します。 B卒業生のステータス、5つ以上の実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。