まとめ
この記事では、Python と JMP で決定木を実行する方法を比較し、各ブランチをどのパラメータで分割するかを決定する数学的基準を適用して、JMP でカスタマイズされた決定木を作成する方法を説明します。このレベルのカスタマイズは Python では利用できないため、JMP は、分割パラメータが偶然に左右されない堅牢なモデルの構築に不可欠です。さらに、このカスタマイズにより、特に複数の候補がデータを効果的に分割する同様の能力を示している場合に、各ブランチでの分割パラメータの選択を正当化するために、専門知識を活用できます。
この例では、Scikit-learn ライブラリで一般的に利用できる分類例である Wine データ セットを使用します。このデータ セットには、イタリアの同じ地域で栽培されているが、0、1、2 とラベル付けされた 3 つの異なる栽培品種 (ブドウの種類) から作られたワインの化学分析結果が含まれています。このデータ セットでは、フラボノイド (フェノールの一種) の量、ワインの色の濃さ、灰分、色相、アルコール含有量など、13 の化学特性評価手法が各サンプルに対して実行されました。
目標は、可能な限り少ない、かつ最も安価な特性テストでワインの出所を特定するための決定木分類モデルを作成することです。
Pythonの使用
まず、Python で決定木モデルを作成するとどうなるかを見てみましょう。(スクリプトはこの投稿に添付されています。) 結果のモデルは、以下に示すように matplot ライブラリでグラフ化できます。最初のモデルは、色の強度、プロリン、灰分、フラボノイド、アルコール含有量に応じて分類します。

ランダム シードを特定の値に設定しない限り、以下に示すように、新しい実行ごとにツリーの外観が異なります。これは予想どおりですが、実行速度が速く、コストがかからない最適な特性テスト セットを選択する必要があるため、実用的ではありません。この例では、分割が発生する場所や値を制御する方法はありません。
|
ランダム状態 = 2
|
ランダム状態 = 14
|
ランダム状態 = 24
|
|
|
|
|
必要な検査: 色の濃さ、プロリン、アルコール含有量、フラボノイド
|
必要な検査: 色の濃さ、プロリン、灰分、灰分のアルカリ度、リンゴ酸、アルコール含有量、フラボノイド
|
必要な検査: 色の濃さ、プロリン、OD280/OD315、フラボノイド、灰分のアルカリ度
|
JMPの使用
特性テストを選択する際に JMP がより優れた機能を発揮できるかどうかを見てみましょう。
JMP で決定木プラットフォームを実行するときは、「分析」>「予測モデリング」>「パーティション」に移動します。検証部分を 0.3 に設定し、「有益な欠損値」と「順序制約順序」をオンにします。

レポートは次のようになります。[Go] をクリックします。

「Go」をクリックすると、次の決定ツリーが生成されます。

Python と同様に、分析をやり直すと、決定木の別の構造が作成されます。
では、使用される特性評価方法に対する好みに基づいて、ランダム性の低いモデルを作成するにはどうすればよいでしょうか。分割をオーバーライドし、パラメータを自分で選択します。
まず、「Prune」ボタンをクリックします。「Prune」をクリックすると、1 ステップ戻って 1 つのブランチを一度に削除できます。次に、「Candidates」リストをクリックして、機能をG^2 または Logworth Splitting Criterion で並べ替えると、どのパラメーターがリストの先頭にあるかを分析できます。
以下に、分割のさまざまな候補を示します。リストの一番上にはフラボノイドがあり、次に od280/od315、総フェノール、プロリンが続きます。

G^2 値は、モデルが分割基準としてフラボノイドを選択することを示しています。[分割] をクリックすると、フラボノイド値 1.41 を使用して分岐分割が行われます。
次に、フラボノイド < 1.41 の候補リストを展開します。色の強度がリストの一番上に表示されます。ただし、色の強度よりも色相を測定した方が簡単な場合もあります。その場合は、赤い三角形をクリックして、[分割の詳細] をクリックします。次に、分割のパラメータ (この場合は色相) を選択して、[OK] をクリックします。

下記の新しいツリーは、フラボノイド レベルが 1.41 未満で色相が 0.906 未満の場合、ワインが栽培品種 #2 から作られている確率は 0.98 であることを示しています。一方、色相が 0.906 を超える場合、タイプ 1 のブドウから作られている可能性が最も高くなります。フラボノイド レベルが 1.41 を超える場合、栽培品種が 0 または 1 である確率はほぼ 50/50 です。そこで、分割を続けましょう。

フラボノイド >=1.41 の下で、候補とその G^2 レベルを確認します。アルコールとプロリンは同様の G^2 値を持っています。アルコールの検査は簡単なので、アルコールで分割します。アルコール含有量が 13.5 を超える場合、ワインがタイプ 0 のブドウから作られている可能性は 91% であることがわかります。

作成された最終的な決定木モデルは以下のとおりです。ブドウの種類を識別するために必要な特性テストが少なくなり、これらのパラメータを選択するためにブラック ボックス アプローチを取らなくても、選択したテストを簡単に実行できるようになりました。決定ルールは簡単に保存して他のユーザーと共有できます。
