decision tree algorithm examples data mining
この詳細なチュートリアルでは、データマイニングにおけるディシジョンツリーアルゴリズムについてすべて説明します。デシジョンツリーの例、アルゴリズム、分類について学習します。
私たちはいくつかを見てみました データマイニングの例 以前のチュートリアルで 無料のデータマイニングトレーニングシリーズ 。
デシジョンツリーマイニングは、分類モデルの構築に使用されるデータマイニング手法の一種です。名前と同じように、ツリーのような構造の形で分類モデルを構築します。このタイプのマイニングは、教師ありクラス学習に属します。
教師あり学習では、目標の結果はすでにわかっています。デシジョンツリーは、カテゴリデータと数値データの両方に使用できます。カテゴリデータは性別、婚姻状況などを表し、数値データは年齢、気温などを表します。
最高の無料ビデオコンバーターは何ですか
データセットを使用した決定木の例を以下に示します。
(画像 ソース )
学習内容:
- デシジョンツリーの用途は何ですか?
- 分類分析
- 回帰分析
- デシジョンツリーはどのように機能しますか?
- デシジョンツリー帰納アルゴリズム
- デシジョンツリーの帰納
- カート
- 機械学習のための決定木帰納:ID3
- 貪欲な再帰的バイナリ分割とは何ですか?
- ツリーを作成するための属性を選択する方法は?
- デシジョンツリーの過剰適合
- 木の剪定とは何ですか?
- 予測モデリングとは何ですか?
- デシジョンツリー分類の利点
- デシジョンツリー分類のデメリット
- 結論
- 推奨読書
デシジョンツリーの用途は何ですか?
デシジョンツリーは、分類モデルと回帰モデルを構築するために使用されます。これは、意思決定プロセスのクラスラベルまたは値を予測するデータモデルを作成するために使用されます。モデルは、システムに供給されるトレーニングデータセット(教師あり学習)から構築されます。
デシジョンツリーを使用すると、理解しやすい決定を視覚化できるため、一般的なデータマイニング手法です。
分類分析
データ分類は、重要なクラス変数を記述するモデルを構築する分析の形式です。例えば、銀行ローンの申し込みを安全またはリスクのあるものとして分類するために構築されたモデル。分類方法は、機械学習とパターン認識で使用されます。
分類の適用には、不正検出、医療診断、ターゲットマーケティングなどが含まれます。分類問題の出力は、ターミナルノードのすべての観測値の「モード」と見なされます。
分類モデルを構築するために、2段階のプロセスが続きます。
- 最初のステップ、つまり学習では、トレーニングデータに基づく分類モデルが構築されます。
- 2番目のステップ、つまり分類では、モデルの精度がチェックされ、モデルを使用して新しいデータが分類されます。ここに示されているクラスラベルは、「はい」または「いいえ」、「安全」または「危険」などの離散値の形式です。
分類モデルを構築するための一般的なアプローチを以下に示します。
(画像 ソース )
回帰分析
回帰分析は、数値属性の予測に使用されます。
数値属性は連続値とも呼ばれます。クラスラベルの代わりに連続値を予測するために構築されたモデルは、回帰モデルと呼ばれます。回帰分析の出力は、ノードのすべての観測値の「平均」です。
デシジョンツリーはどのように機能しますか?
決定木は、離散変数と連続変数の両方で機能する教師あり学習アルゴリズムです。データセット内の最も重要な属性に基づいて、データセットをサブセットに分割します。デシジョンツリーがこの属性を識別する方法と、この分割がどのように行われるかは、アルゴリズムによって決定されます。
最も重要な予測子はルートノードとして指定され、分割は決定ノードと呼ばれるサブノードを形成するために実行され、それ以上分割されないノードはターミナルノードまたはリーフノードです。
デシジョンツリーでは、データセットは同種の領域と重複しない領域に分割されます。トップ領域はすべての観測値を1つの場所に表示し、2つ以上のブランチに分割してさらに分割するため、トップダウンアプローチに従います。このアプローチは、 欲張りアプローチ 将来のノードに焦点を当てることなく、作業中の現在のノードのみを考慮するためです。
デシジョンツリーアルゴリズムは、観測の最小数などの停止基準に達するまで実行を続けます。
デシジョンツリーが構築されると、多くのノードが外れ値またはノイズの多いデータを表す場合があります。不要なデータを削除するために、ツリーの剪定方法が適用されます。これにより、分類モデルの精度が向上します。
モデルの精度を見つけるために、テストタプルとクラスラベルで構成されるテストセットが使用されます。テストセットタプルのパーセンテージは、モデルの精度を識別するためにモデルによって正しく分類されます。モデルが正確であることが判明した場合は、クラスラベルが不明なデータタプルを分類するために使用されます。
デシジョンツリーアルゴリズムには、Hunt’s Algorithm、ID3、CD4.5、CARTなどがあります。
デシジョンツリーの作成例
(例はデータマイニングの概念から取られています:ハンとキンバー)
#1)学習ステップ: トレーニングデータは、分類アルゴリズムによって分析されるシステムに送られます。この例では、クラスラベルは属性、つまり「ローン決定」です。このトレーニングデータから構築されたモデルは、決定ルールの形式で表されます。
#2)分類: テストデータセットは、分類ルールの精度をチェックするためにモデルに送られます。モデルが許容できる結果をもたらす場合、それは未知のクラス変数を持つ新しいデータセットに適用されます。
デシジョンツリー帰納アルゴリズム
デシジョンツリーの帰納
決定木帰納法は、トレーニングセットから決定木を学習する方法です。トレーニングセットは、属性とクラスラベルで構成されています。デシジョンツリー帰納法のアプリケーションには、天文学、財務分析、医療診断、製造、および生産が含まれます。
デシジョンツリーは、トレーニングセットタプルから作成されたフローチャートツリーのような構造です。データセットは小さなサブセットに分割され、ツリーのノードの形で存在します。ツリー構造には、ルートノード、内部ノードまたは決定ノード、リーフノード、およびブランチがあります。
ルートノードは最上位ノードです。これは、分類のために選択された最良の属性を表します。決定ノードの内部ノードは、分類または決定ラベルを表すデータセットリーフノードまたはターミナルノードの属性のテストを表します。ブランチは、実行されたテストの結果を示しています。
一部の決定木には バイナリノード 、つまり、ノードの正確に2つのブランチを意味しますが、一部の決定木は非バイナリです。
以下の画像は、乗客が生き残るかどうかを予測するためのタイタニックデータセットの決定木を示しています。
(画像 ソース )
カート
CARTモデル、つまり分類モデルと回帰モデルは、モデルを構築するための決定木アルゴリズムです。ターゲット値が離散的な性質を持つディシジョンツリーモデルは、分類モデルと呼ばれます。
離散値は、有限または可算無限の値のセットです。 例えば、 年齢、サイズなど。ターゲット値が連続値で表されるモデルは、通常、回帰モデルと呼ばれる数値です。連続変数は浮動小数点変数です。これら2つのモデルを合わせてCARTと呼びます。
CARTは、分類行列としてジニ係数を使用します。
機械学習のための決定木帰納:ID3
1970年代後半から1980年代初頭にかけて、J.Ross Quinlanは、機械学習用の決定木アルゴリズムを構築した研究者でした。このアルゴリズムは、 ID3、反復二分法 。このアルゴリズムは、E.B Hunt、J、およびMarinによって記述された概念学習システムの拡張でした。
ID3は後にC4.5として知られるようになりました。 ID3とC4.5は、決定木を構築するための貪欲なトップダウンアプローチに従います。アルゴリズムは、ツリーが構築されているときに小さなサブセットに分割されるクラスラベルを持つトレーニングデータセットから始まります。
#1) 最初は、3つのパラメータがあります。 属性リスト、属性選択方法、データパーティション 。属性リストは、トレーニングセットタプルの属性を記述します。
#二) 属性選択方法は、タプル間の識別に最適な属性を選択する方法を説明します。属性選択に使用される方法は、情報ゲインまたはジニ係数のいずれかです。
#3) ツリーの構造(バイナリまたは非バイナリ)は、属性の選択方法によって決定されます。
#4) 決定木を構築するとき、それはタプルを表す単一のノードとして始まります。
#5) ルートノードのタプルが異なるクラスラベルを表す場合、属性選択メソッドを呼び出してタプルを分割または分割します。このステップにより、ブランチと決定ノードが形成されます。
#6) 分割方法は、データタプルを分割するために選択する必要がある属性を決定します。また、テスト結果に応じて、ノードから拡張するブランチを決定します。分割基準の主な動機は、決定木の各ブランチのパーティションが同じクラスラベルを表す必要があることです。
属性の分割の例を以下に示します。
a。上記の分割は離散値です。
b。上記の部分は連続値用です。
# 7) 上記の分割手順を再帰的に実行して、トレーニングデータセットタプルの決定木を形成します。
#8) 分割は、すべてのパーティションが作成されたとき、または残りのタプルをそれ以上パーティション化できないときにのみ停止します。
#9) アルゴリズムの複雑さは次のように記述されます。 n * | D | *ログ| D | ここで、nはトレーニングデータセットDおよび| D |の属性の数です。タプルの数です。
貪欲な再帰的バイナリ分割とは何ですか?
バイナリ分割法では、タプルが分割され、各分割コスト関数が計算されます。最も低いコスト分割が選択されます。分割方法は、2つのブランチとして形成されるバイナリです。データセットの他のタプルを分割するために同じ方法(コストを計算する)が使用されるため、本質的に再帰的です。
このアルゴリズムは、現在のノードのみに焦点を当てているため、貪欲と呼ばれます。他のノードは無視されますが、コストの削減に重点を置いています。
ツリーを作成するための属性を選択する方法は?
属性選択メジャーは、タプルがどのように分割されるかを決定するための分割ルールとも呼ばれます。分割基準は、データセットを最適に分割するために使用されます。これらのメジャーは、トレーニングタプルを分割するための属性にランク付けを提供します。
属性を選択する最も一般的な方法は、情報ゲイン、ジニ係数です。
#1)情報獲得
このメソッドは、決定木を構築するために使用される主なメソッドです。タプルを分類するために必要な情報を減らします。これにより、特定のタプルを分類するために必要なテストの数が減ります。情報ゲインが最も高い属性が選択されます。
データセットDのタプルの分類に必要な元の情報は、次の式で提供されます。
ここで、pはタプルがクラスCに属する確率です。情報はビットでエンコードされるため、基数2への対数が使用されます。 E(s)は、データセットDのクラスラベルを見つけるために必要な情報の平均量を表します。この情報ゲインは、 エントロピ 。
分割後の正確な分類に必要な情報は、次の式で与えられます。
ここで、P(c)はパーティションの重量です。この情報は、Xによる分割でデータセットDを分類するために必要な情報を表します。
情報ゲインは、データセットDのタプルを分類するために必要な元の情報と予想される情報の差です。
ゲインは、Xの値を知ることによって必要とされる情報の削減です。情報ゲインが最も高い属性が、「最良」として選択されます。
#2)ゲイン比
情報の取得により、分類に役立たない部分が生じる場合があります。ただし、ゲイン比はトレーニングデータセットをパーティションに分割し、合計タプルに対する結果のタプルの数を考慮します。最大ゲイン比の属性が分割属性として使用されます。
#3)ジニ係数
ジニ係数は、バイナリ変数に対してのみ計算されます。データセットDのトレーニングタプルの不純物を次のように測定します。
Pは、タプルがクラスCに属する確率です。属性Aによってバイナリ分割データセットDに対して計算されるジニ係数は、次の式で与えられます。
ここで、nはデータセットDのn番目のパーティションです。
不純物の減少は、元のデータセットDのジニ係数と属性Aによる分割後のジニ係数の差によって与えられます。
不純物の最大減少または最大ジニ係数が、分割に最適な属性として選択されます。
デシジョンツリーの過剰適合
過剰適合は、テストの深さを増やしてエラーを減らすことにより、決定木が可能な限り完全にしようとするときに発生します。これにより、ツリーが非常に複雑になり、過剰適合につながります。
過剰適合は、決定木の予測的性質を低下させます。木の過剰適合を回避するためのアプローチには、事前剪定と事後剪定が含まれます。
木の剪定とは何ですか?
剪定は、決定木から未使用のブランチを削除する方法です。デシジョンツリーの一部のブランチは、外れ値またはノイズの多いデータを表す場合があります。
木の剪定は、木の不要な枝を減らす方法です。これにより、ツリーの複雑さが軽減され、効果的な予測分析に役立ちます。重要でない枝を木から取り除くので、過剰適合を減らします。
ツリーを剪定する方法は2つあります。
#1)事前プルーニング :このアプローチでは、デシジョンツリーの構築が早期に停止されます。これは、ブランチをさらに分割しないことが決定されたことを意味します。構築された最後のノードがリーフノードになり、このリーフノードはタプルの中で最も頻繁なクラスを保持する可能性があります。
属性選択尺度は、分割の重みを見つけるために使用されます。どの分割が有用であると見なされるかを決定するために、しきい値が規定されています。ノードの分割によってしきい値を下回って分割された場合、プロセスは停止します。
#2)ポストプルーニング :このメソッドは、完全に成長したツリーから外れ値のブランチを削除します。不要なブランチは削除され、最も頻繁なクラスラベルを示すリーフノードに置き換えられます。この手法は、事前実行よりも多くの計算を必要としますが、信頼性は高くなります。
剪定された木は、剪定されていない木と比較すると、より正確でコンパクトですが、複製と繰り返しの欠点があります。
Javaで配列をパラメータとして渡す方法
同じ属性がツリーのブランチに沿って何度もテストされると、繰り返しが発生します。 レプリケーション 重複するサブツリーがツリー内に存在する場合に発生します。これらの問題は、多変量分割によって解決できます。
下の画像は、剪定されていない木と剪定された木を示しています。
デシジョンツリーアルゴリズムの例
例 ソース
デシジョンツリーの構築
Outlook、気温、風、湿度の属性を持つ過去10日間の気象データセットの例を見てみましょう。結果変数はクリケットをプレーするかどうかになります。 ID3アルゴリズムを使用して決定木を構築します。
日 | 見通し | 温度 | 湿度 | 風 | クリケットをする |
---|---|---|---|---|---|
7 | 曇り | 涼しい | 正常 | 強い | はい |
1 | サニー | ホット | 高い | 弱い | しない |
二 | サニー | ホット | 高い | 強い | しない |
3 | 曇り | ホット | 高い | 弱い | はい |
4 | 雨 | 軽度 | 高い | 弱い | はい |
5 | 雨 | 涼しい | 正常 | 弱い | はい |
6 | 雨 | 涼しい | 正常 | 強い | しない |
8 | サニー | 軽度 | 高い | 弱い | しない |
9 | サニー | 涼しい | 正常 | 弱い | はい |
10 | 雨 | 軽度 | 正常 | 弱い | はい |
十一 | サニー | 軽度 | 正常 | 強い | はい |
12 | 曇り | 軽度 | 高い | 強い | はい |
13 | 曇り | ホット | 正常 | 弱い | はい |
14 | 雨 | 軽度 | 高い | 強い | しない |
ステップ1: 最初のステップは、ルートノードを作成することです。
ステップ2: すべての結果がyesの場合、リーフノード「yes」が返されます。そうでない場合、リーフノード「no」が返されます。
ステップ3: すべての観測値のエントロピーと、属性「x」がE(S)およびE(S、x)であるエントロピーを調べます。
ステップ4: 情報ゲインを見つけて、情報ゲインの高い属性を選択します。
ステップ5: すべての属性がカバーされるまで、上記の手順を繰り返します。
エントロピーの計算:
Chrome用の最高の無料広告ブロッカーは何ですか
はい・いいえ
9 5
エントロピーがゼロの場合、すべてのメンバーが同じクラスに属していることを意味し、エントロピーが1の場合、タプルの半分が1つのクラスに属し、そのうちの1つが別のクラスに属していることを意味します。 0.94は公平な分配を意味します。
最大の情報ゲインを与える情報ゲイン属性を見つけます。
例えば 「風」、それは2つの値を取ります:強いと弱い、したがって、x = {強い、弱い}。
x =弱い、x =強い場合のH(x)、P(x)を調べます。 H(S)はすでに上記で計算されています。
弱い= 8
強い= 8
「弱い」風の場合、6人がクリケットをするために「はい」と言い、2人が「いいえ」と言います。したがって、エントロピーは次のようになります。
「強い」風の場合、3人はクリケットをするために「いいえ」と言い、3人は「はい」と言いました。
これは、半分のアイテムが1つのクラスに属し、残りの半分が他のクラスに属するため、完全なランダム性を示しています。
情報ゲインを計算し、
同様に、他の属性の情報ゲインは次のとおりです。
属性の見通しには 最高の情報獲得 0.246であるため、rootとして選択されます。
曇りには、晴れ、曇り、雨の3つの値があります。プレイクリケットの曇りは常に「はい」です。したがって、最終的にはリーフノード「yes」になります。その他の値については、「晴れ」と「雨」。
「晴れ」としてのOutlookのテーブルは次のようになります。
温度 | 湿度 | 風 | ゴルフ |
---|---|---|---|
ホット | 高い | 弱い | しない |
ホット | 高い | 強い | しない |
軽度 | 高い | 弱い | しない |
涼しい | 正常 | 弱い | はい |
軽度 | 正常 | 強い | はい |
「Outlook」「Sunny」のエントロピーは次のとおりです。
Sunnyに関する属性の情報獲得は次のとおりです。
湿度の情報ゲインが最も高いため、次のノードとして選択されます。同様に、エントロピーは雨に対して計算されます。 風は最高の情報獲得をもたらします 。
デシジョンツリーは次のようになります。
予測モデリングとは何ですか?
分類モデルを使用して、未知の属性セットの結果を予測できます。
不明なクラスラベルを持つデータセットがモデルに入力されると、クラスラベルが自動的にモデルに割り当てられます。結果を予測するために確率を適用するこの方法は、予測モデリングと呼ばれます。
デシジョンツリー分類の利点
以下に、ディシジョンツリー分類のさまざまなメリットを示します。
- デシジョンツリー分類はドメイン知識を必要としないため、知識発見プロセスに適しています。
- ツリー形式のデータの表現は、人間が簡単に理解でき、直感的です。
- 多次元データを処理できます。
- これは、非常に正確な迅速なプロセスです。
デシジョンツリー分類のデメリット
デシジョンツリー分類のさまざまなデメリットを以下に示します。
- 決定木が非常に複雑になることがあり、これらは過剰適合木と呼ばれます。
- デシジョンツリーアルゴリズムは、最適なソリューションではない場合があります。
- 一部のクラスラベルが決定木を支配している場合、決定木は偏った解を返す可能性があります。
結論
デシジョンツリーは、分類と回帰分析のためのデータマイニング手法です。
この手法は現在、医療診断、ターゲットマーケティングなど、多くの分野に広がっています。これらのツリーは、ID3、CARTなどのアルゴリズムに従って構築されています。これらのアルゴリズムは、データをパーティションに分割するさまざまな方法を見つけます。
これは、機械学習とパターン分析で使用される最も広く知られている教師あり学習手法です。決定木は、システムに提供されたトレーニングセットから学習してモデルを構築することにより、ターゲット変数の値を予測します。
この有益なチュートリアルから、ディシジョンツリーマイニングについてすべて学んだことを願っています!!