公開日: 04/01/2021

サポートベクトルマシンの例

糖尿病患者442人に関するデータがあります。このデータには、初診から1年後における症状の進行も収集されています。病気の進行度は、「Low」(低)と「High」(高)の2値で測定されました。ここでは、ある患者の病気の進行が「High」と「Low」のどちらになるかを予測する分類モデルを作成します。両方のカーネル関数オプションを使って調べてみましょう。

1. [ヘルプ]>[サンプルデータライブラリ]を選択し、「Diabetes.jmp」を開きます。

2. [分析]>[予測モデル]>[サポートベクトルマシン]を選択します。

3. 「Y 2値」を選択し、[Y, 目的変数]をクリックします。

4. 「年齢」から「グルコース」までを選択し、[X, 説明変数]をクリックします。

5. 「検証」列を選択し、[検証]ボタンをクリックします。

6. [OK]をクリックします。

7. 「モデルの設定」パネルで、カーネル関数が[動径基底関数]が選択されており、「コスト」が1、「ガンマ」が0.1に設定されていることを確認します。

8. [実行]をクリックします。

9. 「モデルの設定」の横にあるグレーの三角ボタンをクリックして、「モデルの設定」パネルを開きます。

10. カーネル関数をコストパラメータが1の[直線]に変更します。

11. [実行]をクリックします。

図9.2 「モデルの比較」レポート 

「モデルの比較」レポートを見ると、誤分類率に関して最も良いモデルが、コストパラメータ1の直線カーネル関数を使ったモデルであることがわかります。このモデルをさらに分析します。

12. 「サポートベクトルマシン モデル 2」レポートにスクロールします。

図9.3 最良モデルのモデルレポート 

「モデルの要約」レポートを見ると、学習セットと検証セットの誤分類率は非常に小さいことがわかります。これは、モデルがデータにオーバーフィットしていないことを示唆しています。混同行列は、モデルによって誤分類されたオブザベーションのタイプに関する情報を提供します。混同行列の左上隅を見ると、ほとんどの場合(学習で92%、検証で89.5%)において、モデルが「Low」を正しく分類していることがわかります。しかし、「High」が正しく分類されている率はそれよりも低くなっています(学習で57.8%、検証で65.8%)。そのため、誤分類の大部分は誤って「Low」と分類された「High」です。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).