あなたの分析ソリューション

Excelでサポートベクターマシンを訓練する

20/10/2017
このチュートリアルは、XLSTAT統計解析ソフトウェアを用いてExcel内でサポートベクターマシン(SVM:Support Vector Machine)分類器をセットアップして訓練することを支援します。

SVM 分類器を訓練するためのデータセット

このチュートリアルのデータと閣下のExcelシートは、こちらをクリックしてダウンロードできます。
このチュートリアルで使用するデータセットは、有名なKaggle データサイエンス・プラットフォーム の"Titanic(タイタニック): Machine Learning from Disaster" という機械学習コンペのデータです。
Titanicデータセットは、このアドレスでアクセスできるでしょう。 これは1912年のRMS タイタニック号の沈没に関するデータです。惨事の中、救命ボートの不足により、2,224人の乗客のうちの1,500人以上が命を失いました。
データセットは、1309人の乗客のリストで、下記の情報を伴います:
  • survived: Survival (0 = No; 1 = Yes)
  • pclass: Passenger Class (1 = 1st; 2 = 2nd; 3 = 3rd)
  • name: Name
  • sex: Gender (male; female)
  • age: Age
  • sibsp: Number of Siblings/Spouses Aboard
  • parch: Number of Parents/Children Aboard
  • fare: Passenger Fare
  • cabin: Cabin
  • embarked: Port of Embarkation (C = Cherbourg; Q = Queenstown; S = Southampton)

このチュートリアルの目的

このチュートリアルのゴールは、Titanic デーセットでSVM分類器をセットアップして訓練して、検証集合で分類器がどれだけ良く機能するかを確認する方法を学びます。

SVM 分類器のセットアップ

SVM分類器をセットアップするには、 下図のように機械学習/サポートベクターマシン をクリックします:
XLSTAT Machine Learning in Excel menu
ボタンをクリックすると、SVMダイアログ・ボックスが現れます。Excelシート上のデータを選択してください。
応答変数 フィールドでは、データを分類する際に予測したいバイナリ変数を選択します。我々の事例では、それは救命情報を与える列です。
また、下図のようにチェックボックスをクリックして、量的および質的説明変数を選択します。

XLSTAT Support Vector Machine dialog box general tab
量的 フィールドでは、以下のフィールドに対応する列を選択します:
  • age
  • sibsp
  • parch
  • fare
 
複数の列を選択するには、Ctrl キーを使用できます。
 
質的 フィールドでは、質的な情報を持つ列を選択します:
  • pclass
  • sex
  • embarked
               
表の上部に各変数の名前があるので、変数ラベル チェックボックスをチェックしなければなりません。
オプション タブでは、分類器パラメータをセットアップします。
SMO パラメータでは、我々はデフォルト・オプションを使用します。 C フィールドは、正則化パラメータです。これは、最適化の際にどれだけ誤分類を許すかという意味で解釈されます。C の値が大きいほど、誤分類オブザベーションのそれぞれで強いペナルティを与えることを意味します。我々の事例では、 C の値を 1に設定します。イプシロン フィールドは、数値の精密度パラメータです。これはマシンに依存しますが、1e-12のままにしておいてよいです。 トレランス(許容度)パラメータは、サポートベクターを比較する際に最適化アルゴリズムがどれだけ正確かを示します。計算をスピードアップしたい場合は、トレランス・パラメータを上げるとよいです。我々は、ここで トレランスをデフォルト値にしておきます。
 
我々は、下図のように前処理フィールドで尺度変更を選択し、線形カーネルを使用します。
 
XLSTAT Support Vector Machine dialog box options tab
我々は分類器がどれだけよく機能するかを確認したいので、トレーニング標本から検証標本を抽出します。この目的のために、検証タブで検証チェックボックスをチェックして、下図に示すように、トレーニング標本から100 オブザベーションをランダム に抽出することを選択します。
 
XLSTAT Support Vector Machine dialog box validation tab
最後に、出力タブで下図のように取得したいアウトプットを選択します:
XLSTAT Support Vector Machine dialog box outputs tab
OKをクリックすると計算が始まります。 そして、結果が表示されます。

SVM分類器の結果の解釈

最初の表は、最適化されたSVM分類器の概要を表示します。下図でわかるように、分類器はクラス 01 を分類し、クラス 0陽性クラスとしてラベルづけされました。分類器を訓練するために943 個のオブザベーションが使用され、766 個のサポートベクターマシンが識別されました。
 
XLSTAT Support Vector Machine results 1
下に示す2番目の表は、766個のサポートベクターの全リストで、関連するアルファ係数の値と陽性と陰性の出力値を伴います。前の表のバイアス値とともに、この情報は、最適化された分類器を完全に記述するのに十分です。
XLSTAT Support Vector Machine results 2
次の表は、トレーニング標本と検証標本の両方からの結果の混同行列を表示します。それらの行列は、分類器がどれだけよく働いているかの指標を提供します。トレーニング・データセットでは正しい回答が66.49% で、検証集合ではこの数字が74% に上がっています。

XLSTAT Support Vector Machine results 3

SVM 分類器に関する結論

我々はh線形カーネルを用いて分類器を訓練し、74% の正分類で良い結果を得ました。kaggleのベスト・データサイエンティストに挑戦するにはもう少し調整が必要です。1つのアプローチは、カーネルの種類を変更することで、より高次元の空間が我々のデータセットでよく機能することがわかるでしょう。
  
1c26995d494fb3061dd0ae8571ffc0a4@xlstat.desk-mail.com
https://cdn.desk.com/
false
desk
読み込み中
秒前
1 分前
分前
1 時間前
時間前
1 日前
日前
バージョン情報
false
無効な文字が見つかりました
/customer/portal/articles/autocomplete
9283