wekaによるデータ分析方法 - se-naist.jp · 1 wekaとは...
TRANSCRIPT
Wekaによるデータ分析方法
ソフトウェア工学III 2006年度
1
Wekaとは
ニュージーランドのWaikato大学で開発されている、フリーのデータマイニングツールである。
Java VM上で動作する。
2
ダウンロード
Windosの場合
http://prdownloads.sourceforge.net/weka/weka-3-4-6jre.exe (Java VM付き)http://prdownloads.sourceforge.net/weka/weka-3-4-6.exe (Java VMなし)
UNIXなどの場合
http://prdownloads.sourceforge.net/weka/weka-3-4-6.zip
http://www.cs.waikato.ac.nz/~ml/weka/からダウンロードしてもよい。
3
インストール~起動
Windowsの場合
ダウンロードしたファイルをダブルクリックすると、インストールが開始される。
起動は[スタート]メニューより行う。
UNIXなどの場合
unzip weka-3-4-6.zipでファイルを解凍する。
java -jar weka-3-4-6/weka.jarで起動する。
ウィンドウのタイトルが見えない場合、デスクトップでマウスの中央ボタンをクリックし、[Move]を選択してウィンドウを移動させること。
起動しない場合,使用メモリを指定する.
java –Xmx768m -jar weka-3-4-6/weka.jar
4
データファイルを開く
1. [Explorer]をクリックする。
2. [Weka Explorer]ウィンドウの[Open file…]をクリックする。
3. ファイルの形式を[CSV Data Types]にし、[開く]をクリックする。
5
散布図マトリクスによる関連の分析
6
散布図マトリクスによる関連の分析
全ての変数の組み合わせによる散布図を調べ、変数間の関連を分析する。
X軸 : 開発種別Y軸 : 生産性 X軸 : 業種
Y軸 : 生産性
7
散布図の分析例(1/2)
関連がみられる場合
生産性とピーク要員数は関連がみられる。
ピーク要員数
生産性
生産性が高いプロジェクトはピーク要員数が少ない.
ピーク要員数が多いと、生産性が低い.
8
散布図の分析例(2/2)
関連がみられない場合
生産性と開発期間は関連がみられない。
開発期間
生産性
分布が散らばっている
9
散布図の操作方法
[Weka Explorer]ウィンドウの[Visualize]タブを選択する。
Plot Size : 散布図の大きさを変更する。
Point Size : 点の大きさを変更する。
Jitter : 点の重なりをずらす。
Colour : 指定した変数の値によって、点の色を変える。
パラメータを変更した場合は、[Update]をクリックする。
Jitterなし Jitterあり
○ : 新規プロジェクト○ : 保守プロジェクト
10
ヒストグラムによる関連の分析
11
ヒストグラムによる関連の分析
ある変数の値でヒストグラムを色分けし、分布に偏りがあるかどうかを分析する。
例) 開発種別の分布について、業種によって偏りがみられるかどうか(保守のプロジェクトが比較的多い業種があるのか)を分析する。
プロジェクト数
銀行 通信 金融 保険 製造 研究 その他 軍事
■ : 新規プロジェクト■ : 保守プロジェクト■ : 再開発プロジェクト
業種
12
関連が見られる場合
業種と開発形態は関連がみられる。
関連が見られない場合
アーキテクチャと開発形態は関連がみられない。
ヒストグラムによる分析例
アーキテクチャ
新規と保守の割合が同じ
業種によって、新規と保守の割合が異なるプ
ロジェクト数
プロジェクト数
業種
■ : 新規 ■ : 保守
13
ヒストグラムの操作方法
① 色分けしたい変数を選ぶ。名義尺度(Nom)のみ指定可。
② ヒストグラムを表示したい変数を選ぶ
全ての変数のヒストグラムを表示する
[Weka Explorer]ウィンドウの[Preprocess]タブを選択する。
14
アソシエーション分析
15
ステップ1:名義尺度への変換
アソシエーション分析の前に、変数の値を名義尺度に変換する(いくつかのグループに分ける)必要がある。
名義尺度を離散値で表した場合、Wekaでは名義尺度扱いしないため、必ず変換する必要がある。
名義尺度以外が残っている場合、アソシエーション分析ができないので注意すること。
離散変数への変換後に、ヒストグラムによる分析を行うことも可能である。
名義尺度に変換
(-∞-4.5]、(4.5-6.5]、(6.5-10.5]、(10.5~∞)の4グループに分ける
16
名義尺度への変換方法(1/3)
1. [Weka Explorer]ウィンドウの[Preprocess]タブを選択する。
2. [Choose]をクリックする。
3. [filters]-[unsupervised]-[attribute]を展開し、[Discretize]をクリックする。
4. [Choose]ボタン横のテキストボックスをクリックする。
17
名義尺度への変換方法(2/3)
5. ポップアップウィンドウで、オプションを指定する。
bins : 数値をいくつのグループに分けるかを指定する。通常は2~4を指定する。
useEqualFrequency : 各グループに含まれるデータ数が等しくなるようにする。通常は[True]を指定する。
attributeIndices : どの変数に対して変換を行うかを指定する(通常は初期値のままでよい)。指定は番号で行う。
[More]をクリックすると、オプションのヘルプが表示される。
変数の番号
18
名義尺度への変換方法(3/3)
6. [Apply]をクリックする。
①を[No Class]にしておく。変数が指定されたままの場合、その変数は変換されないので注意すること。
7. 変換を取り消す場合は、[Undo]をクリックする。クリックするごとに、1つ前の変換操作が取り消される。
①
19
ステップ2:不要な変数の削除
データのIDなど、分析に不要な変数を削除する。
[Weka Explorer]ウィンドウの[Preprocess]タブを選択する。
① 不要な変数をチェックする
② クリックする
20
ステップ3:アソシエーションルールの抽出(1/2)
1. [Weka Explorer]ウィンドウの[Assiciate]タブを選択する。
2. [Choose]ボタン横のテキストボックスをクリックする。
3. ポップアップウィンドウで、オプションを指定する。
numRules : 抽出する最大ルール数。
minMetric : 最小信頼度(metricTypeが”Confidence”の場合)。数値を小さくすると、抽出されるルールの候補が増加する。
21
ステップ3:アソシエーションルールの抽出(2/2)
4. [Start]をクリックする。
5. 抽出ルールが表示されたあと、[Result List]のリストを右クリックし、[Save Result Buffer]をクリックする。
6. ファイルに結果を保存する。
22
ルールの出力書式
業種=銀行 24 ==> 開発種別=新規開発 19conf:(0.79)
特定の変数(信頼性など)に影響する要因を調べる場合は、“==> 信頼性”などで検索する。
業種が銀行のとき(全24件)
開発種別が新規開発である(24件中19件)
信頼度 0.79
23
有効なルールが抽出されないとき
不要な変数を削除する。
信頼度を低く設定する。
名義尺度へ変換する際のグループ数を変更する。
全くルールが抽出されない場合は、変数に名義尺度以外が残っていないかを確認すること。