visual mining studio チュートリアルvisual mining studio チュートリアル バージョン...

70
Visual Mining Studio チュートリアル バージョン 8.4 株式会社 NTT データ数理システム 問い合わせ 東京都新宿区信濃町 35 番地 信濃町煉瓦館 1 Phone:03-3358-6681 Fax:03-3358-1727 [email protected] 2018 1 月更新

Upload: others

Post on 04-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

Visual Mining Studio

チュートリアル

バージョン 8.4

株式会社 NTT データ数理システム

問い合わせ

東京都新宿区信濃町 35 番地

信濃町煉瓦館 1 階

Phone:03-3358-6681

Fax:03-3358-1727

[email protected]

2018 年 1 月更新

Page 2: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

2

目次

1. はじめに ......................................................................................................................... 1

2. 解析の前に ...................................................................................................................... 2

2.1. 起動しましょう ....................................................................................................... 2

2.2. ウインドウの説明 ................................................................................................... 3

2.3. VAP 上で VMSTUDIO を利用する ............................................................................ 3

3. データ「菖蒲」を分析する ............................................................................................ 5

3.1. データの取り込み ................................................................................................... 5

3.2. 集計でデータの概要をつかむ ................................................................................. 9

3.3. 異常なデータを取り除く ...................................................................................... 12

3.4. データを目で見る ................................................................................................. 15

3.5. クラスタを抽出する .............................................................................................. 19

3.6. 作業を中断します ................................................................................................. 25

3.7. この章のまとめ ..................................................................................................... 27

4. データ「MARKET」を分析する .................................................................................. 28

4.1. データの取り込み ................................................................................................. 28

4.2. データの意味と解析の目的 ................................................................................... 31

4.3. 欠損値を除外する ................................................................................................. 33

4.4. 要因を分析する ..................................................................................................... 36

4.5. モデルを検証する ................................................................................................. 44

4.6. この章のまとめ ..................................................................................................... 48

5. POS データを分析する ................................................................................................ 49

5.1. データの導入 ......................................................................................................... 49

5.2. アソシエーション分析とは ................................................................................... 52

5.3. アソシエーション分析アイコンを使う................................................................. 54

5.4. 分析結果とルールの重要性 ................................................................................... 56

5.5. リフトの値を見る ................................................................................................. 60

5.6. 長いルールを抽出する .......................................................................................... 63

5.7. この章のまとめ ..................................................................................................... 65

索引 ...................................................................................................................................... 67

Page 3: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

1

1. はじめに

Visual Mining Studio(VMStudio)をご利用いただきありがとうございます。VMStudio

は、Visual Analytics Platform(VAP)上で動く、データマイニングに必要な様々な処理をグラ

フィカルに行うことのできる統合解析ツールです。

図 1-1 解析画面

この文章はデータマイニングがどのようなもので、実際に VAP、VMStudio でどのよう

に分析作業を行うのかを大まかに知りたい方を対象にしています。この文章では実際に

VAP、VMStudio にデータを導入し、解析する作業を通じて「データマイニング」がどのよ

うなものかを自然に理解することができるようになっています。

以下では、次の 3 種類のサンプルデータを順番に解析します。

菖蒲 … 集計・グラフ表示・クラスタ分析・クリーニング・K-Means 法

market … 列属性変更、Decision Tree・予測

POS データ … アソシエーション分析(バスケット分析)

それぞれのデータに対して用いる解析手法・アイコンを併記しましたので、必要な解析

手法が明確な方は対応する章をお読みください。

Page 4: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

2

2. 解析の前に

2.1. 起動しましょう

まず VAP を起動してみましょう1。

VAP を起動するには、インストール終了後「スタート」メニューの MSI Solutions 以下

の Visual Analytics Platform を選択します(図 2-1)。

図 2-1 VAP の起動

1 VAP、VMStudio のインストール作業については、インストールガイドを参照して行って

ください。ここではインストール作業、ライセンス登録は既に終了しているものとします。

Page 5: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

3

すると、VAP が起動します。また S-PLUS をインストールした上で、S-PLUS と連携を

行っている場合、同時に S-PLUS も起動します。

2.2. ウインドウの説明

VAP が起動すると、下図のようなウインドウが開きます。

VAP、VMStudio を用いた解析は、このウインドウの大部分を占めるプロジェクトボード

上で行います。このボード上にアイコンを置いていくことによって処理を進めていきます。

図 2-2 VAP メインウインドウ

ウインドウ左側にある縦長のウインドウはオブジェクトブラウザと呼び、データ解析で

用いる処理アイコンやデータが格納されています。各アイコンは種類・機能ごとにフォル

ダに分類されています。フォルダは Windows でフォルダを開くのと同じように操作する

ことができます。

VAP、VMStudio でのデータ解析は、オブジェクトブラウザ上のアイコン群を、プロジェ

クトボードに貼り付けることによって行います。

2.3. VAP 上で VMStudio を利用する

VMStudio はインストールしただけでは利用できません。VAP 上で利用する製品として

VMStudio を選択する必要があります。まず、メニューバーの製品(P)をクリックし、製品

の選択(S)をクリックします。

プロジェクトボード

オブジェクトブラウザ

Page 6: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

4

図 2-3 製品の選択

表示された製品の選択ダイアログで Visual Mining Studio の選択にチェックを入れ、OK

ボタンをクリックします。なお、利用数は製品の「現在の利用者数 / 同時利用可能なユー

ザ数」を表わします。同時利用の上限まで製品が利用されている場合、その状態では利用

できませんので、利用者間で調整を行ってください。

図 2-4 製品の選択ダイアログ

Visual Mining Studio が利用可能な状態で OK ボタンをクリックすると、ダイアログは閉

じられ、オブジェクトブラウザ上に Visual Mining Studio というフォルダが現れます。

図 2-5 製品選択に伴うオブジェクトブラウザの表示の変化

以上で VMStudio の機能を利用する準備が整いました。次章より VAP、VMStudio を用

いた分析方法について説明します。

Page 7: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

5

3. データ「菖蒲」を分析する

この章では、菖蒲.txt というデータを用いて、

VAP、VMStudio の基本操作に慣れる

クラスタ分析を行う

ことを目的にデータ分析を行います。

3.1. データの取り込み

データマイニングは、まず分析の対象となる「データ」を取り込むことから始めます。

VAP では以下の条件を満たすテキストファイルが解析可能です。

ファイル名の拡張子が .csv または .txt

同じ行のデータがカンマ、タブ、スペース、セミコロンで区切られている

本章で使用するデータのサンプルが、ルートフォルダ2 ¥Samples¥Visual Mining Studio

フォルダ以下にあります。ここではこのサンプルデータの取り込み方法を説明します。

ここで取り込む 菖蒲.txt は、統計学者 Fisher が統計分析のために、実際に植物の菖蒲

(アヤメ)を測定したデータ(の一部を変更したもの)です。データの形式は図 3-1 のよ

うにデータがコンマで区切れており、1 行目はそれぞれの列のタイトルになっています。

図 3-1 菖蒲.txt の先頭部分

2 ルートフォルダとは、VAP をインストールしたフォルダのことです。インストール時に

特に指定しない場合、マシンが 32bitOS であれば C:¥Program Files¥Mathematical

Systems Inc¥Visual Analytics Platform となります。64bit OS であれば C:¥Program

Files(x86)¥Mathematical Systems Inc¥Visual Analytics Platform となります。インスト

ール時に変更した場合は、指定したフォルダがルートフォルダになります。以下では特に

断らずにルートフォルダと書きます。

種類,がく長,がく幅,花びら長,花びら幅

Setosa,51,35,14, 2

Setosa,49,30,14, 2

Setosa,47,32,13, 2

Setosa,46,31,15, 2

Setosa,50,36,14, 2

1行目=タイトル

Page 8: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

6

データの取り込みは図 3-2 のように、エクスプローラなどからプロジェクトボードにド

ラッグ&ドロップして行います(図の矢印)。菖蒲.txt をドラッグすると、「菖蒲」アイコ

ンができます。もしくは、図 3-3 のようにプロジェクトボード上で右クリックして、「新

規アイコン」→「外部データ入力」→「ファイル」から菖蒲.txt を選択することで、アイコ

ンを作成できます。

図 3-2 マウスの左ボタンを押したまま移動(ドラッグ&ドロップ)

図 3-3 プロジェクトボード上で右クリック

Page 9: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

7

次に、データを VAP 内部形式に変換する作業を行います(これをデータインポートとい

います)。貼り付けた「菖蒲」アイコンをダブルクリックすると、図 3-4 のようなデータイ

ンポートウインドウが表示されます。

図 3-4 データインポートウインドウ

データを内部形式に取り込むには、各列のデータが数値(整数、実数)であるか文字列

であるかを選択する必要があります(これをデータの属性といいます)。データインポート

ウインドウには自動で判別した属性が表示されますが、手動で列毎に指定することができ

ます。

またオプションの「先頭行を列名として使う」という欄にチェックが入っていますが、

このオプションはもし先頭行からデータが始まる場合にはこの欄のチェックは外します。

このデータの場合、先頭行は列名ですので、チェックを入れたままにしてください。

図 3-5 「先頭行を列名として使う」オプション

Page 10: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

8

今回は特に設定の変更はありませんので、そのまま OK ボタンを押し、データインポー

トを開始します。インポートが終了すると、データ&グラフビューが自動的に起動し、イ

ンポートされた結果が表示されます。データ&グラフビューを閉じた後にもう一度データ

を確認したい場合には、「菖蒲」アイコンを右クリックして、メニューからデータビューを

選択すると、データを表示することができます(図 3-6)

図 3-6 データビュー

Page 11: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

9

3.2. 集計でデータの概要をつかむ

次にデータの集計を行い、菖蒲が種類ごとにいくつデータがあるかカウントしてみまし

ょう。集計アイコンを図 3-7 のように置きます3。

図 3-7 集計アイコンを貼り付ける

次にデータアイコンと集計アイコンを矢印線でつなぎます。次のようにします。

(1) 始点となるアイコンにマウスポインタをあわせ、マウスの中央ボタン4を押して、押し

たままにする。

(2) 終点となるアイコンにボタンを押したまま移動し、そこでボタンを離す

図 3-8 アイコンから矢印をつなげる

3 集計アイコンは データ操作フォルダにあります。 4 マウスによってはホイール(縦に回転する構造のもの)になっていますが、この場合は

ホイールごと押し込みます。中央ボタンがない場合は右のボタンを押したまま移動しま

す。

中央ボタンを

押しながら

マウスを移動

ここで左ボタ

ンを押す

押したまま

移動

左ボタンを離す

とアイコン貼り付

Page 12: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

10

データ処理をおこなうための処理の流れ(処理フロー)が完成しました。この処理フロ

ーを実行するには処理アイコン(ここでは集計アイコン)を右クリックして、メニューか

ら実行を選択します。選択すると集計アイコンは菖蒲アイコンからデータを取得して処理

を始めます。

図 3-9 アイコンの実行

集計アイコンをつないだ場合、集計についてのパラメータを要求されます。ここでは、

集計方法 : 項目カウンタ

集計対象列名 : 種類 にチェック

と設定して OK ボタンを押します。

図 3-10 集計アイコンのパラメータ設定

Page 13: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

11

OK ボタンを押すと処理が開始します。処理が終了すると、メッセージウインドウ(画

面下部分)に OK メッセージが出ます。

図 3-11 メッセージウインドウの表示

集計アイコンの処理が終わると、集計アイコンの「集計」の文字が、黒から赤に変わり

ます。これは、集計アイコンの処理が終わってアイコンが処理結果を保持しているという

ことを示しています。

図 3-12 実行後アイコン名は赤くなる

アイコンが保持している計算結果を確かめるには、処理アイコン(ここでは集計アイコ

ン)を右クリックして、メニューから「データビュー」→「開く」を選択します。結果は

図のように、菖蒲の種類 Setosa, Virginica, Versicolor それぞれが 50 回(50 行)出現して

いることがわかります。

図 3-13 データビュー

Page 14: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

12

3.3. 異常なデータを取り除く

取り込んだデータ菖蒲のデータビューを行って、もう一度内容を確認してください。よ

く見ると、がく長が 0 になっている行があります。

図 3-14 菖蒲データ

このように実際のデータには、データの入力ミスや、測定の取りこぼしなどで値が欠落

したり、異常な値が含まれていたりすることがあります5。このような値のことを欠損値と

いいます。欠損値を含んだデータをそのまま処理すると、実態に合わない結果や、矛盾を

含んだ結果を導くことがあるので、データを詳細に分析する前に、この欠損値を何らかの

形で処理する作業(クリーニング)が必要になります。

5 この菖蒲.txt では説明のために、Fisher が用いたオリジナルのデータに人為的に 0 を入

れています。

Page 15: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

13

がく長が 0 になっている行を取り除くことにしましょう。オブジェクトブラウザの「デ

ータ操作」以下にあるクリーニングアイコンを貼り付けて、図のように菖蒲から矢印を繋

いで実行します。

図 3-15 クリーニングアイコンの実行

すると、パラメータ設定ウインドウが開きます。がく長が 0 になっている行をデータか

ら取り除くには、がく長のパラメータを次のように設定します。

欠損値検出 : ユーザ指定

欠損値基準 : 0

欠損値補完 : 除外

このパラメータの意味は「がく長がユーザの指定した値(=0)になっている場合、その

行を除外せよ」という意味です。設定が終了したら OK ボタンを押します。

図 3-16 クリーニングアイコンのパラメータ設定

Page 16: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

14

クリーニングアイコンを右クリックしてデータビューを選択し、内容を確認してくださ

い。元のデータは 150 行ありましたが、クリーニングアイコンの結果は 148 行に減ってい

て、クリーニングで欠損値の含まれていた 2 行が除外されたことがわかります。

図 3-17 上 : データアイコン「菖蒲」の内容、 下 : クリーニングアイコンの内容

Page 17: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

15

3.4. データを目で見る

菖蒲のデータの構造を視覚的に把握するために、データをグラフで見てみましょう。

グラフ表示するには、表示したいデータを持っているアイコンの下流に、データ可視化

アイコンをつなぎます(アイコンは、オブジェクトブラウザの表示フォルダにあります)。

ここでは図のようにクリーニングアイコンの下流に繋ぎます。

図 3-18 データ可視化アイコン

データ可視化アイコンを実行(ダブルクリックで行うことができます)すると、データ

ビューが現れます。次にコンテンツパネルのタイトルバーにあるグラフ作成アイコンをク

リックしてください。

図 3-19 データ可視化アイコンのグラフ作成

Page 18: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

16

グラフの作成は「グラフ設定」パネルの「グラフ」タブで行います。ここでは、

X 軸(横軸) : 花びら長

Y 軸(縦軸) : 花びら幅

となるような散布図を、種類ごとに色分けして描画することにします。

図 3-20 グラフ設定パネルのグラフタブ

グラフ作成の操作手順は次の通りです。

1. 対象データを選ぶ

2. グラフの種類を選ぶ

3. グラフに応じてパラメータを入力する

4. 「OK」または「適用」を実行する

入力データが一つしかない場合は、自動的にデータが選択されているので、次にグラフ

種類から散布図を選択します。続いてパラメータを入力します。設定画面では、X 軸に花

びら長を、Y 軸に花びら幅を設定し、菖蒲の種類ごとの分布を見るために、オプションを

開き、層別に種類を設定します。

Page 19: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

17

図 3-21 散布図パラメータ設定

以上の設定ができましたらグラフ設定パネルの下部にある OK ボタンをクリックします。

すると、散布図が描画されます。

「X 軸」に「花びら長」を、

「Y 軸」に「花びら幅」選択

データを選択

(データが一つしかない場合は自動的に選択済)

散布図をクリックすると、

「データ設定」に

入力パラメータが表示される

「オプション」をクリックして

オプション画面を展開し、

「層別」に「種類」を選択

Page 20: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

18

図 3-22 散布図表示の結果(赤い点線は表示されません)

グラフの 1 点がアヤメの測定データ 1 つに対応します。また、種類ごとに色分けされて

表示されます。このグラフを見ると、図の赤い点線でアヤメが 2 つの「かたまり」に分か

れているようにみえます。この「かたまり」のことをクラスタといいます。クラスタとは、

データの性質(ここでは花びら長、花びら幅などの変数)が似ているもの同士の集団のこ

とです。菖蒲のデータの場合、菖蒲の種類ごとに特徴的ながく長、がく幅などの数値を持

っていて、このようなクラスタが形成されるものと考えられます。

データ可視化アイコンを終了する際は、画面右上の×ボタンを押して終了します。

Page 21: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

19

3.5. クラスタを抽出する

グラフ表示で、菖蒲のデータはクラスタを形成していることが確認できましたが、この

クラスタ抽出を自動で行う方法として、クラスタ分析があります。(クラスタ分析を行うア

イコンはオブジェクトブラウザの Visual Mining Studio→クラスタ分析の下にあります)

クラスタ分析は、データの行と行の「近さ」を計算し、近いデータを集団にまとめる分

析手法で、データの集団としての性質を大まかに捉えたい場合に有効な手法です。

クラスタ分析には分割型、凝縮型などの手法がありますが、ここでは分割型クラスタ分

析で最も単純な K-Means 法を用いてアヤメのデータに対してクラスタ分析を行います。

クリーニングをおこなったデータに、K-Means 法アイコンをつなぎます。

図 3-23 K-Means 法アイコンの配置

Page 22: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

20

実行すると、パラメータ設定ウインドウが出るので、次のように設定します。

対象列選択: がく長・がく幅・花びら長・花びら幅を選択

距離計算方法 : Manhattan

クラスタの数 : 3

繰り返し最大数 : 100

規格化オプション: チェックしない

初期値クラスターの設定方法:ランダム

乱数の初期値6:1

図 3-24 K-Means 法アイコンのパラメータ設定

このように指定した場合、対象列名で指定した 4 つの数値列を用いて、データ間の距離

を計算し、距離の近いもの同士をクラスタとして抽出します。

K-Means 法の場合、抽出するクラスタの数は固定です。ここでは菖蒲の種類にあわせて

3 と入力します。

6 乱数の初期値を手動で固定すると、毎回同じ結果を得ることができます。自動を選択す

ると、実行のたびに異なった結果が得られます。

Page 23: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

21

パラメータを設定したら OK を押して実行し、K-Means 法の結果を見ると、列 ClusterID

がデータに追加されていることがわかります。これはそれぞれのデータが、何番目のクラ

スタに分類されたかどうかを示しています。パラメータ設定で「クラスターの数」を 3 に

指定したので、データは 3 つのクラスタに分かれ、ClusterID には 1~3 の番号が入ります。

データビューでClusterIDを確認すると、種類 Setosa は 2 番に、Virsinica, Versicolor は、

おおむね 1 番または 3 番に分類されているように見えます。

図 3-25 データの最右列に ClusterID が加わった

実際に、どの菖蒲がどのクラスタに分類されたかを集計アイコンを用いて確認してみま

しょう。K-Means 法アイコンに集計アイコンをつなぎます。

図 3-26 集計アイコンをつないだ直後

Page 24: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

22

ここで、K-Means 法から集計アイコンへの矢印に×印が表示されました。この×印は、

K-Means 法の出力が 2 種類ある7ので、どのデータに対して集計を行うのかが決まってお

らず、集計アイコンの入力が不定になっていることに由来するものです。入力を一意に決

めるためには、入力マッチング変更を行います。入力マッチング変更を行うには集計アイ

コンを右クリックして、メニューから入力マッチング変更を選択します。

図 3-27 入力マッチング変更

入力マッチング定義ウインドウが表示されますので、table に対応するデータ名を

K-Means 法(1).result

とします(通常、何もする必要はありません)

図 3-28 入力マッチング定義ウインドウ

7 K-Means 法は図 3-25 で確認したデータ(result)のほかに、cluster info と呼ばれるデ

ータを出力しています。このデータはクラスタの中心の値が含まれています。

Page 25: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

23

OK ボタンを押すと、入力が一意に決まり、集計アイコンへの矢印の×印は消えます。

図 3-29 マッチングが取れた状態

集計アイコンを実行して、パラメータを次のように指定します。

集計方法 : 項目カウンタ

集計キー列名 : 種類

集計対象列名 : ClusterID

これは「菖蒲の種類ごとに ClusterID をカウントする」という意味です。

図 3-30 集計アイコンの実行

Page 26: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

24

実行結果は、図のようになります。

図 3-31 集計結果

この結果は、例えば 4 行目は

「種類 Versicolor のうち、ClusterID 1 番のものは、全部で 48 個(48 行)ある」

ということを意味しています。

集計結果からは、次のことがわかります。

Setosa は、すべて 2 番のクラスタに分類された。Setosa は Virginica, Versicolor と

は異なる特徴を有している種類である。

Versicolor は、1 番、Virginica は 3 番のクラスタに属するものが多いが、そうでない

ものもある。両者は異なる性質を有しているものの、やや類似しているといえるで

あろう。

K-Means 法のパラメータ設定で、対象列として「種類」は指定しませんでした。しかし、

数値列(がく長、がく幅、花びら長、花びら幅)の情報だけからでも、菖蒲のデータがい

くつかの特徴的な集団を形成していることがわかりました。

このように、クラスタ分析はデータの識別子であるクラス(ここでは種類)がわからな

い場合でも、特徴の似ているもの同士の集団を抽出する手法として用いられます。

Page 27: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

25

3.6. 作業を中断します

作成した処理フローを保存するには、プロジェクトという単位で保存します。プロジェ

クトを保存するには図のように、メニューから プロジェクト → 名前をつけて保存を選

択します。

図 3-32 名前をつけてプロジェクトを保存

名前を入力して、OK を押すとプロジェクトが保存されます。ここでは、Project1.pr0 と

いう名前をつけて保存します。

Page 28: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

26

図 3-33 プロジェクト名を入力

保存したプロジェクトはオブジェクトブラウザのプロジェクトに表示されます。プロジ

ェクトの編集を再開するには、右クリックメニューからプロジェクトを開くを選択します。

図 3-34 プロジェクトを開く

Page 29: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

27

3.7. この章のまとめ

この章では次のことを学びました。

データの導入方法(インポート)

集計アイコンの使い方

欠損値の処理(除外)の方法

グラフ表示アイコンの使い方

クラスタ分析の基礎

プロジェクトの保存

Page 30: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

28

4. データ「market」を分析する

この章では、market というデータを用いて、

モデリングアイコン(Tree & Random Forest)を使う

モデリングアイコンを用いて予測を行う

ことを目的にデータ分析を行います。

4.1. データの取り込み

まず、market データをインポートしましょう。market データは、ルートフォルダ

¥Samples¥Visual Mining Studio 以下にあります。「菖蒲」を取り込んだのと同様にして、

エクスプローラなどからドラッグ&ドロップしてデータアイコンを作成します。

図 4-1 market データをプロジェクトボード上に配置

market アイコンをダブルクリックして、

カンマ区切り

usage のみ実数、残りの列を文字列

としてインポートします。今回は特に設定の変更の必要はありませんので、そのまま OK

ボタンをクリックしてください。

Page 31: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

29

図 4-2 データインポート画面設定

次に usage 列は本来、整数列なので、列属性の変更を行います8。market データから列

属性変更アイコンへ矢印を結びます。

図 4-3 列属性変更アイコンへの接続

8 データインポートの画面で usage 列の列属性を整数と変更して読み込もうとすると、

テキストは実数であるのに整数で読み込もうとするため、警告が発生し、エラー処理方

法、エラー時補填値の設定に従って値が書き換えられてしまいます。

Page 32: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

30

列属性変更アイコンをダブルクリックして現れた画面では、usage の新属性を整数に変

更して OK をクリックします。

図 4-4 列属性変更 GUI

以上でプロジェクトに market を取り込む作業は終了です。以後、取り込んだデータを基

に解析を行います。

Page 33: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

31

4.2. データの意味と解析の目的

この market というデータは 1986 年に、アメリカの電話会社 AT&T が長距離電話会社の

選択に関して行った市場調査のデータです。データの各行が顧客に対応していて、それぞ

れの顧客の属性や、選択した電話会社などの情報で構成されています。

図 4-5 データ「market」(列属性変更後)

データの各列は、それぞれ次のような意味を持っています。

pick 優先的に選択する電話会社

income 収入

moves 過去5年間の引越し回数

age 年齢

education 学歴

employment 職種

usage 月平均利用時間

nonpub 電話帳に載せないかどうか

reach.out 割引サービスに加入していたか

card 電話利用カードの有無

このうち pick は、AT&T を選択したか、それ以外の電話会社を選択したか、ということ

を意味しており、AT&T にとっては自分の会社を選択したかどうか、という非常に重要な

変数となります。またこれ以外の列は、顧客の収入、年齢などの属性データになっていま

す。

では、このデータから、どのような人が AT&T を選択する傾向があるか分析できないで

Page 34: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

32

しょうか。また、収入や年齢が既知の場合に、その人がどの電話会社を選択するかを予測

できないでしょうか。それができれば、電話会社は新規顧客を獲得するときに、対象を限

定できることになります。

このような分析を行うには、分類分析を行います。分類分析では、まず列 pick が既知の

データを用いて、収入や学歴等の個人情報から、その顧客が優先的に選択する長距離電話

会社を予測するモデルを作成します。そして、そのモデルを用いて、未知の顧客がどの電

話会社を選択するかを予測する、という手順を取ります(図 4-6)

図 4-6 モデルの作成と予測(概念図)

Page 35: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

33

4.3. 欠損値を除外する

もう一度、元のデータを眺めてください。一部に "NA" というデータがあるのがわかり

ます。この "NA" というデータは Non-Available(利用不可) の頭文字をとったもので、

「そのデータが取得できなかった」または「そのデータが不明である」ということを明示

的にあらわす記号です。

このような欠損値(→3.3 節を参照)を含んだまま、データを解析するのは困難ですの

で、ここではクリーニングアイコンを用いて "NA" を含む行を除外します。図のように列

属性変更アイコンの下流にクリーニングアイコンをつけてください。

図 4-7 クリーニングアイコンの配置

前章で行ったように、クリーニングのパラメータを指定しますが、このデータの場合、

usage を除いたすべての列で "NA" が出現します。1 列ごとにパラメータを指定しても良

いですが、この作業は非常に面倒です。以下のように行うと、複数の列に対して同じパラ

メータを一度に指定することができます。

まず income の「欠損値検出」を「ユーザ指定」とします。

図 4-8 クリーニングアイコンの実行

Page 36: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

34

次に、Shift キーを押したまま、card の「欠損値検出」欄を左クリックします。すると、

すべての列の「欠損値検出」欄が「ユーザ指定」に変更されます。

図 4-9 パラメータの一括設定方法

同様にして、income から下にある、属性が文字列の列に対して、次のパラメータを指定

します。

欠損値検出 ユーザ指定

欠損値基準 NA

欠損値補完 除外

ユーザ指定 (そのままで結構です)

ただし、usage に関しては "NA" が含まれない数値列ですので、「欠損値検出」を「なし」

に設定します。この場合 usage に関しては、他の欄は無視されるので特に設定する必要は

ありません。

図 4-10 クリーニングアイコンのパラメータ設定

Page 37: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

35

すべてのパラメータの設定が終わったら、OK ボタンを押してクリーニングを実行しま

す。実行前に 1000 行あったデータは、データビューで確認すると 759 行に減っているこ

とが確認できます。

図 4-11 クリーニングアイコン実行後データビュー

Page 38: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

36

4.4. 要因を分析する

データのクリーニングが終了しましたので、このデータに対して pick を予測するための

モデルを作成します。このモデルを作成するためにここでは Decision Tree (決定木)を

使用します。

決定木は、図のような木構造のモデルを用います。未知のデータのクラスを予測するに

は、根(ルート)から始まるノードを順次たどっていきます。各ノードには条件が書かれ

ていて、その条件に対応するような枝を順次たどります。そして最後に行き着いた終端ノ

ード(または葉)にはそれぞれクラスが対応していて、このクラスが予測結果となります。

例えば、図の決定木の場合、Age が "35-44"、Card が "N" となっているデータは、根か

ら最も右の枝をたどって4番の葉に到達し、pick は ATT であることがわかります。

決定木を用いた分析を行うには、まずクラスがわかっているデータから、クラスを予測

するための決定木を作成する必要があります。作成をおこなうアイコン(Tree & Random

Forest アイコン9)は、オブジェクトブラウザの Visual Mining Studio → モデリング の

下にあります。このアイコンをクリーニングアイコンの下流につないで実行してください。

9 Ver 8.1 より追加されたアイコンです。旧来の DecisionTree アイコンと比べて、決定

木モデル構築のユーザーインターフェースを大幅に刷新しています。また RandomForest

(複数のランダムな決定木によるアンサンブルモデル。詳しくは VMStudio 技術資料等を

参照)機能を新たに追加しています。ここでは新アイコン(Tree & RandomForest)の方

を用いて分析を行います。

1: ATT

Age ?

Usage ? Card ?

2: OCC 3: OCC 4: ATT

35未満

20 未満 Y 20 以上 N

35以上

図 4-12 木構造モデル

Page 39: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

37

図 4-13 Tree&RandomForest アイコンの配置

実行すると、Tree & RandomForest のパラメータ設定ウインドウが現れます。

図 4-14 Tree & RandomForest パラメータ設定ウインドウ

ここで以下のようにパラメータを設定します。ここでは、表示されたそのままのパラメ

ータを利用することにします。

生成方法 … 対話画面での成長

分岐方法 … Gini 係数

節点最小データ数 … 0.8 (%)

変数の最大分岐数(共通) … 5

節点の不純度 … 0.01

Page 40: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

38

高さ制限 … 無制限

目的変数 … pick

説明変数 … income ~ card すべてをチェック

最大分岐数…カテゴリ列は無制限、数値列は共通(=5)

パラメータ入力ウインドウで実行を押すと、Decision Tree の対話作成画面が現れます。

図 4-15 木構造の根(ルートノード)表示

最初に表示されている四角は、根(ルートノード)に当たります。ノードの中に描かれ

た円グラフは、ノードに含まれるデータ(ここではルートノードなので全データ)につい

て、目的変数のクラスの割合を表します。ノード上にマウスカーソルを当てると、クラス

の割合が数値で表示され、OCC を 46.6%、ATT を 53.4%の人が選択したことが分かりま

す。

図 4-16 ノードの内訳

この状態では、根はそのまま葉となっており、葉は一枚しかないため、すべてのデータ

を ATT と予測することになります。ユーザはこの対話画面で、ノードを一段ずつ成長させ

ていくことにより、より良い予測をする決定木を作成する必要があります。

Page 41: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

39

このルートを成長(分岐)させるには、ノードを右クリックして一段成長を選択します。

図 4-17 対話的操作メニュー

図 4-18 分岐表示(一段成長)

すると、データから最も効率の良い分岐変数を選択して、枝が成長します。「分岐条件」

にチェックを入れると、選択された分岐変数と分岐条件が表示されます。この例では、分

岐変数として usage が選択され10、ルートノードから、5 つの子ノードが成長します。

10 ここで usage を選んだのは、パラメータ設定画面の「分岐方法」で指定した Gini 係

数で見たときに最も効率のよい分岐変数になっているからです。分岐変数を手動で選択す

るには、ノードを右クリックしてメニューから強制分岐を指定します(詳しくはマニュア

ルを参照してください)

チェックを入れます

分岐条件が表示されます

Page 42: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

40

分岐の条件は子ノードの上部に表示されます。usage のような数値列の場合、分岐条件

は変数がとる値を区間ごとに分割したものになります。この usage の分岐条件は次の図の

ような区間分割に相当します。実際には usage(使用した回数)は整数値(1,2,3,…)をと

りますので、0.01 のような値は、特に意味はありません。例えば、左から 2 番の子ノード

に当てはまる usage の値は、2, 3, 4 の 3 個になります。

成長した葉からさらに成長させたい場合は、ノードを右クリックして「一段成長」を選

択します。

図 4-20 指定子ノードからの一段成長メニュー

指定したノードに下に、更にノードが作られます。

usage 12.03 5.16 4.01 1.15

ATT OCC OCC ATT OCC

図 4-19 区間分割

Page 43: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

41

図 4-21 指定子ノードから更に一段成長

この一段成長をすべてのノードに対して行い、末端まで成長させるには、ルートノード

を右クリックして全成長を選択します。

図 4-22 ルートノードからの全成長実行

Page 44: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

42

全成長が終了すると、図のような表示になります。

図 4-23 全成長後の表示

ツリーが大きくなって表示しきれない場合は、マウスのホイールを上下に動かしたり、

右上のズームスライドを調整したりすることで、表示エリアを自由に縮小・拡大すること

が出来ます。

図 4-24 縮小してツリーの全体を表示

Page 45: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

43

ツリーの作成を終了するには、ウインドウ右上端の×ボタンをクリックするか、閉じる

ボタンをクリックします。結果は次のようになります。Tree & RandomForest アイコンの

中身をデータビューで見ると、図のようになっています。

図 4-25 決定木のルールを表すテーブル

これらは、作成した Decision Tree の木情報を表しています。この情報は通常そのまま

利用するのではなく、次の節で説明するように予測アイコンを利用して使用します。

Page 46: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

44

4.5. モデルを検証する

前節で Decision Tree を用いてクラスを予測するモデルを作成しました。このモデルの

性能を評価するには予測アイコンを利用します。

予測アイコンを利用するには、まず、オブジェクトブラウザの Visual Mining Studio →

モデリング → 予測 をプロジェクトボードに貼り付けます。そして、Tree &

RandomForest とクリーニングアイコンから 2本の矢印線を結んで図のようなフローを作

成します。

図 4-26 予測アイコンの配置

このフローはいったい何を意味しているのでしょうか?まずクリーニングアイコンから

は、データが予測アイコンに流れます。そして Tree & RandomForest アイコンからは作

成したモデルそのものが予測アイコンに流れます。予測アイコンでは、入力データに対し

て、入力したモデルを適用して予測・検証を行います11。

このように予測アイコンは、データとモデルを組で入力して用います。データだけ、モ

デルだけで利用することはできません。また、入力するモデルは、Tree & RandomForest

だけではなく、モデリングフォルダの下にあるモデル作成アイコンならどれでも利用可能

です。

11 この例では、モデル作成に用いたデータを予測に用いています。しかし、モデルは学

習に用いたデータに偏った学習をする(過学習と言います)ことがあり、例のような評

価方法は実はあまり良い方法ではありません。一般的には入力データを分割して、一方で

学習し、一方でモデルの評価をおこなったりします。

Page 47: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

45

予測アイコンを実行すると、図のようなパラメータ設定画面が現れます。

図 4-27 予測アイコンの設定パラメータ

ウインドウの一番上には、入力したモデルの情報があらわれます。ここでは、Decision

Tree で学習したモデルであることが表示されます。

また、処理選択欄では、このアイコンで行う処理を選択します。ここではモデルの性能

評価を行いたいので、検証を選択します。また、出力オプションの「対象データも出力」

のチェックは不要です。

OK ボタンを押すと処理が開始します。結果は図のようになります。

図 4-28 予測アイコンの結果

Page 48: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

46

ここで pick.目的変数 は、入力データの pick を表しています。また pick.予測 は、モ

デルが予測した pick の値で、これが実際の値とあっているかどうかの結果が pick.判定結

果 として出力されます。予測があっていた場合 True、間違っていた場合 False が入りま

す。

この判定結果を集計してみましょう。予測アイコンの下に集計アイコンをつなぎます。

矢印でつないだ直後は予測アイコンの出力テーブルが複数あるため、どのテーブルに対し

集計するか決まらないため×印がつきます。そこで、集計アイコンを右クリックし、入力

マッチング変更を選択し、予測(1).result を入力に設定します。

図 4-29 集計アイコンの入出力マッチング定義

設定して OK をクリックすると、下図のように予測アイコンから集計アイコンへの矢印

の×印が消えます。

図 4-30 集計アイコンの配置

Page 49: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

47

集計アイコンを起動し、パラメータを次のように設定します。

集計方法 … 項目カウンタ

集計キー列名 … pick.目的変数

集計対象列名 … pick.判定結果

図 4-31 集計アイコンのパラメータ設定

実行した結果を見ると、次のようにクラスごとに判定結果を集計した値が表示されます。

図 4-32 予測の集計結果

この結果から、約 30%の確率で誤った結果を返していることがわかります。

Page 50: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

48

4.6. この章のまとめ

この章では次のことを学びました。

列属性変更、クリーニングアイコンを使った、データの前処理

Decision Tree によるモデル作成

作成したモデルの評価

Page 51: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

49

5. POS データを分析する

この章では、スーパーマーケットにおける購入データ(POS データ)を用いて、

アソシエーション分析(バスケット分析)を行う

POS 分析に対する集計を行う

ことを目的にデータ分析を行います。

5.1. データの導入

この章で使うPOSデータは、サンプルプロジェクトPOSデータ.prjに収められており、

このプロジェクトからデータだけを取り出す作業が必要です。以下のようにプロジェクト

をインポートして、データを抽出してください。

まず、VMStudio を利用する製品として選択した状態で、メニューバーの プロジェクト

→ インポート を選択します。

図 5-1 プロジェクトのインポート

ファイル選択ウインドウが開きますので、ルートフォルダ(→5 ページの脚注を参照)

¥Samples¥Visual Mining Studio フォルダに移動し、POS 分析.prj を選択します。

Page 52: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

50

図 5-2 プロジェクトの選択

プロジェクトがインポートされ、表示されます。

図 5-3 POS 分析プロジェクト

次に、このプロジェクトの POS データアイコン をオブジェクトブラウザのデータフォ

ルダにドラッグ&ドロップします。POS データが、データフォルダに取り込まれます。実

Page 53: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

51

際の PC 上では、ルートフォルダ¥Users¥[ユーザ名]¥データ 以下に保存されます。

図 5-4 データフォルダへの保存

この POS データを分析する新規のプロジェクトを作成しましょう。メニューバーの プ

ロジェクト → 新規作成 を選択します。そして図のように POS データをプロジェクトに

ドラッグ&ドロップしてデータを貼り付けます。

図 5-5 POS データのドラッグ&ドロップ

これで POS データを分析する準備が整いました。

Page 54: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

52

5.2. アソシエーション分析とは

導入したデータをダブルクリックして、データビューウインドウを開いて中身を見てく

ださい。このデータは擬似的に作成した、スーパーマーケットにおける商品購入データで

す。

図 5-6 商品購入データ

データの列は、それぞれ次のような意味を持っています。

ID番号 … レシートごとに一意につけられた通し番号

商品名 … 購入した商品の名前

数量 … 商品を購入した個数

金額 … 商品の単価

ID 番号 1 つがそれぞれ来店客 1 人に対応し、それぞれの来店客が購入した商品の情報

が、商品名、数量、金額として現れています。例えば ID 番号 1 の来店客は、乳製品とパン

を 1 つずつ購入して、合計 247 円の買物をしたことがわかります。

アソシエーション分析12は、このようなスーパーマーケットのデータなどに対して、ど

の商品が同時に購入されているか、どの商品の組み合わせが頻繁に現れるか、というルー

ル(前提と結論)を抽出する分析のことです。アソシエーション分析は、どの商品の組み

合わせが買い物かご(バスケット)に入れられるかについての分析であることから、バス

ケット分析とも呼ばれます。

12 アソシエーション分析は、このような POS データに対する分析だけではなく、さまざ

まな事象間の関連性を導くのに用いることができます。

Page 55: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

53

図 5-7 アソシエーション分析は、バスケット分析とも呼ばれる

この分析の結果、乳製品とパンが同時購入される頻度が高いことがわかれば、このスー

パーのパンの売り場に乳製品(牛乳やヨーグルト)を置くことや、パンの購入者に対して

乳製品を割り引くようなキャンペーンを実行すれば、パンと乳製品の売上が上昇すること

が期待されます。

Page 56: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

54

5.3. アソシエーション分析アイコンを使う

導入したデータに対してアソシエーション分析をおこなってみましょう。アソシエーシ

ョン分析アイコンは、オブジェクトブラウザの Visual Mining Studio → アソシエーショ

ン分析 フォルダの下にあります。アイコンを貼り付けて POS データからのフローを作成

します。

図 5-8 アソシエーション分析アイコンの配置

アソシエーション分析アイコンをダブルクリックして、パラメータ設定画面を開きます。

ここでは次のようにパラメータを指定します(図 5-9)

最低サポート(%) … 0

最低信頼度(%) … 0

ルールの長さ13 … 2 (注意!)

Lift … 0

Conviction … 0

対象列名 … 商品名だけにチェックを入れる。

次に「オプション」タブをクリックして、次のようにパラメータを設定します(図 5-10)。

キー列 … ID 番号

出力オプション… 列番号

以上の設定ができましたら、OK ボタンをクリックしてください。

13 「ルールの長さ」は、前提のルールの長さと結論のルールの長さの和です。指定した

値以下の長さになるルールのみを抽出します。ルールの長さを 2 とすると、前提のルー

ルは 1 つ、結論のルールは 1 つということになります。

Page 57: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

55

図 5-9 アソシエーション分析のパラメータ設定

図 5-10 アソシエーション分析のオプション設定

Page 58: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

56

5.4. 分析結果とルールの重要性

アソシエーション分析アイコンを右クリックし、データビューを選択して実行結果を見

てみましょう。

図 5-11 アソシエーションルールの結果

この結果は、1 つの行がそれぞれ 1 つのルール(ここでは買物のパターン)を表してい

ます。例えば、1 行目は、

前提… 2-ベビー用品

結論… 2-菓子

となっています。これは、「ベビー用品を買った場合に、菓子を買うというルール」を表し

ています。(頭文字の "2" は、「商品名」が元のデータの 2 列目であることを意味します)

またそれぞれのルールには、次のような指標が対応しています。

信頼度

サポート

Lift (リフト)

これらの指標は、ルールの重要性を判定するために欠かせないものです。以下、順を追

って説明します。

Page 59: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

57

もう一度、図 5-11 の 1 行目に注目します。

前提 … 2-ベビー用品

結論 … 2-菓子

信頼度 … 100.00

サポート … 0.22

信頼度とは、仮にルールの前提が起きたと仮定したときに、結論が起きる確率を表しま

す。例えばこのルールの場合、「ベビー用品を買った人が、100%の確率で菓子を購入する」

ということを意味しています。この数値が高ければ高いほど、ルールの前提と結論の結び

つきが高いということができます。すると、「ベビー用品を買った人は、必ず菓子を購入し

ているので、非常に重要な情報だ」と思われるかもしれませんが、実はそうではありませ

ん。

サポートを見てください。サポートとはルールの前提と結論が同時に起きる確率、つま

り「ルールそのものが起きる確率」を表します。「ベビー用品 → 菓子」というルールの場

合、サポートが 0.22%、つまり「ルールそのものが生じる確率」は 0.22% 程度しかなく、

このルールは約 500 回に 1 回しか起こらないことがわかります。ルールそのものがほとん

ど起きないため、このルールはあまり重要とはいえません。

以上からわかるように、信頼度が大きいからといって、ルールが重要だとは単純には言

えません。重要なルールは、サポートもそれなりに大きいことが求められます。

信頼度とサポートを考慮して、重要なルールだけを抽出してみましょう。既に貼り付け

てあるアソシエーション分析アイコンを右クリックして「実行」を選択してください。パ

ラメータを再設定するためのウインドウが開きます。

★ 実行と再実行

「実行」と「再実行」の違いに注意してください。すでに実行がされて、アイコンの名

前が赤くなっている場合、それぞれ動作は次のようになります。

実行

パラメータを設定するウインドウが開きます。パラメータは前回設定した値が既

に入力されています。OK を押すと、アイコンの計算が開始します。

再実行

前回設定したパラメータを用いて、計算を行います。

Page 60: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

58

パラメータ設定画面で、次のように変更してください。

最低サポート … 1

最低信頼度 … 10

図 5-12 アソシエーション分析のパラメータ再設定(サポート、信頼度)

こうした場合、サポートが 1% 以上、信頼度が 10% 以上のルールだけを取り出すこと

になります。また、抽出するルールを制限することで、探索すべきルールが少なく済み、

計算時間が大幅に短縮される場合があります。

OK ボタンを押して、計算を行います。

Page 61: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

59

結果は、次のようになります。

図 5-13 サポート、信頼度を制限したアソシエーション分析の結果

Page 62: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

60

5.5. リフトの値を見る

信頼度とサポートを制限した分析結果を良く見ると、結論に「野菜」を含むルールが、

たくさん現れています。これらのルールは本当に重要なのでしょうか?

アソシエーション分析の結果をもう一度見てみましょう。一行目の結果をすべて書き出

すと以下のようになっています。

前提 … 2-パスタ パスタソース

結論 … 2-野菜

信頼度 … 82.35

サポート … 1.85

Lift … 1.53

Conviction … 2.62

ルール.数 … 42

前提.数 … 51

結論.数 … 1221

キー.数 … 2274

ここで最後の 4 項目を見てください。まずキー.数とは、データの中に現れたキーの数

(ここではレシート ID の数)を表しています。このデータでは、のべ 2274 人が買物を行

ったデータであることがわかります。ルール.数とは、「パスタ パスタソース → 野菜」と

いうルールがデータの中に現れた回数です。つまり、「パスタ パスタソース」と「野菜」

を同時に購入した客の数が 42 人いることを意味しています。

一方、前提.数、結論.数は、前提、結論が現れたキーの数を示しており、「パスタ パスタ

ソース」を購入したのは 51 人、「野菜」を購入したのが 1221 人いることがわかります。

ここで、「パスタ パスタソース」の人数に比べて、「野菜」の人数が非常に多くなってい

ることがわかります。「野菜」は、お客さんの大体半分近くが購入している商品であり、仮

に「パスタ パスタソース」と「野菜」の間の関連性が全くなかったとしても、信頼度は 50%

近くあることになります。つまり、「野菜」を結論に含むものは、仮に信頼度とサポートが

大きかったとしても、重要なルールであるとは、単純には言い切れません。

このような場合、リフト(Lift)14の値を用いると、前提と結論の間の結びつきが強いも

のを抽出することができます。リフトは、次の式で計算されます。

)(

)()(

BP

ABPBALift

14 リフトは興味値(Interest)、あるいは相関(Correlation)とも呼ばれます。

Page 63: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

61

これは今取り上げている「パスタ パスタソース → 野菜」の場合、次のことを意味しま

す。

実際に値を入れると、

となり、リフトの値は 1.53 となります。

リフトは、前提が存在することで、結論がおこる確率がどれだけ大きくなるかの比を表

しており、リフトが 1 の場合は、全く前提の存在が効いていないことになります。リフト

が 1 より大きければ大きいほど、その効果は大きくなります。「パスタ パスタソース →

野菜」の場合は、リフト 1.53 で「それなりに前提の存在が効いている」といえるでしょう。

リフトの値に注意して、もう一度アソシエーション分析アイコンを実行してみましょう。

アイコンを右クリックして「実行」を選択します。「再実行」ではないことに注意してくだ

さい(→57 ページ) パラメータ設定で、前回の値をそのままにして、Lift の値を 1.8 にし

ます(これは、Lift が 1.8 に満たないものを除外する、という指定です)

図 5-14 アソシエーション分析のパラメータ再設定(Lift)

Page 64: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

62

OK を押して、結果を見ると、次のようになります。

図 5-15 Lift に満たないものを除外したアソシエーション分析の結果

前回よりも、意味ありげな結果が得られました。例えば、6 行目「カレー シチュー →

牛肉」を買った客は、おそらくカレーライスを作ろうとしているのではないか、と考えら

れます。リフトも 2.61 と高い値になっています。

Page 65: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

63

5.6. 長いルールを抽出する

前節までの分析で導出できたルールは、前提・結論でそれぞれ商品名が 1 つずつのもの

に限られていました。もっとたくさんの商品名がつながったルールを導出したい場合は、

パラメータ設定で、ルールの長さを増やします。ここでは、ルールの長さを 4 として、も

う一度アソシエーション分析アイコンを実行してみましょう。

図 5-16 アソシエーション分析のパラメータ再設定(ルールの長さ)

結果は次のようになります。

図 5-17 ルールの長さを増やしたアソシエーション分析の結果

Page 66: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

64

結果は、A+B+C などのように、商品名の組み合わせで表されます。例えば 1 行目は

前提 : 2-牛乳+2-果実+2-豚肉

結論 : 2-野菜

信頼度 : 100

となっていますが、これは「牛乳と果実と豚肉を同時に買った場合、さらに野菜を買う

確率は 100%」となることを意味しています。前提は、それら 3 商品が同時に購入される

ことを意味することに注意してください。

ここでも、野菜が結論に多く現れています。Lift を再度設定して実行してもよいですが、

次のようにして有用なルールを見てみましょう。

データビューウインドウの列タイトル Lift の右にある「v」をクリックし、メニューから

「昇順」を実行します15。

図 5-18 Lift の値で昇順に並べ替え

図 5-19 Lift 列をキーにしたソート

15 このソートを行っても、アソシエーション分析アイコンの処理結果は変化しません。

このソートでは表示される順番が変わるだけです。ソートアイコンは、ソートしたデータ

そのものを結果として持っています。この違いに注意してください。

Page 67: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

65

5.7. この章のまとめ

この章では次のことを学びました。

アソシエーション分析アイコンの基本的な使い方

アソシエーションルールの指標となるパラメータ

重要なアソシエーションルールの抽出

★ 「market」を解析してみる

本章の説明では、アソシエーション分析アイコンを POS データに対して使ってきまし

た。しかし、アソシエーション分析アイコンは、必ずしも商品購入データの間の関連性を

導くためだけに用いられるわけではありません。

例えば、前の章で分析したデータ「market」(usage 列は整数列に変更済)に対して、ア

ソシエーション分析アイコンをつないで分析することも可能です。対象列として、すべて

の列を指定して OK を押すと、図のような結果が得られます16。

図 5-20 market データのアソシエーション分析パラメータ設定

16 ここでは出力オプションを「列名」にした場合のデータを表示しています。出力オプ

ションが列番号の場合は、1 行目は「4-65+ 6-R」と表示されます。

Page 68: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

66

図 5-21 market データのアソシエーション分析結果

例えば、1 行目は「65 歳以上(age-65+)ならば、仕事をやめている(employment-R)

確率が 87.39% である」ということを意味しています。つまり顧客の属性間の関連性を引

き出していることになります。このように、複数の列にまたがった関連性の分析も可能で

す。

Page 69: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

67

索引

Decision Tree 36

アイコン 36

一段成長 39

強制分岐 39

全成長 41

対話作成画面 38

分岐変数 39

保存&閉じる 43

K-Means 法 19

アイコン 19

Lift 60, 61, 64

NA → 欠損値

アソシエーション分析 52

アイコン 54

結論 56

出力オプション 65

前提 56

ルールの長さ 63

アソシエーションルール 52

過学習 44

クラス 24

クラスタ 18

クラスタ分析 19

グラフ表示

アイコン 15

クリーニング 12

アイコン 13, 33

欠損値 12, 33

検証 45

再実行 57

サポート 57

集計

アイコン 9, 23, 46

信頼度 57

データ

データインポート 7, 28

Page 70: Visual Mining Studio チュートリアルVisual Mining Studio チュートリアル バージョン 8.4 株式会社 NTTデータ数理システム 問い合わせ 東京都新宿区信濃町35番地

68

データビュー 8

データファイル 5

取り込み 5

データビュー 11

データビューウインドウ内でのソート

64

入力マッチング変更 22

バスケット分析 52

フロー 10

プロジェクト 25

インポート 49

新規作成 51

名前をつけて保存 25

開く 26

分類分析 32

メッセージウインドウ 11

モデル 32

モデル作成アイコン 44

矢印線 9

予測 32

アイコン 43, 44

リフト → Lift

ルートフォルダ 5, 49

列属性変更

アイコン 29