NAGデータマイニングコンポーネントを利用すれば、 Excelのインターフェースでデータマイニングが実現できます。
ここでは、NAGデータマイニングコンポーネントの一つの機能である クラスタ分析の例をご紹介します。このサンプルでは花弁と萼の長さと幅のデータから、 最適なグループ数を探し出すために、クラスタ数と距離の関係をプロットします。
データマイニング対象となるデータをエクセルに用意する
今回のサンプルのデータは花弁と萼の長さと幅のデータです。観察数は150ですが、
この図はその最初のいくつかを示しています。
このようなデータからクラスタの数と結合距離のプロット図を作成します。 クラスタの数から結合距離を求めるために、今回NAGデータマイニングコンポーネントの 関数を利用しています。 NAGデータマイニングコンポーネントは、 データマイニングで多く利用される、決定木、クラスタリング(階層、k-means)、 多層パーセプトロン、アソシエーション等の機能をDLL化した製品です。 このDLLは英国NAG社により開発され、特に信頼性に優れている事が特徴となっています。
データマイニングをエクセルで行うためには
エクセルでデータマイニングを行うために、NAGデータマイニングコンポーネントのDLLを
Excelから呼び出すように設定します。これを行うには、この図の例のように、Excelで[Alt]+[F11]を押して表示されるVisual Basicウィンドウ内で、
DLLを呼び出すためのコードをVBAで記述します。
このVBAコードは主に、 NAGデータマイニングコンポーネントDLLを呼び出すために必要な宣言部分と、 Excelのシートからデータを取り出してデータマイニング関数の引数として渡す部分と、 その戻り値を結果としてExcelのシートに書き出す部分から構成されています。
DLLを呼び出すための宣言部の例
Private Declare Sub nagdmc_hclust Lib "nagdmc.dll" Alias "_nagdmc_hclust@56" _
(ByVal rec1 As Long, ByVal nvar As Long, ByVal nrec As Long, ByVal dblk As Long, _
data As Double, ByVal nxvar As Long, ByVal xvar As Long, ByVal ctype As Long, _
lmerge As Long, umerge As Long, mergedist As Double, denord As Long, dendist As Double, _
info As Long)
本サンプル(VBAスクリプト及びデータ)はこちらからダウンロード可能です。
(※このサンプルの実行にはNAGデータマイニングコンポーネントが別途必要です)