12
Wekaの基本 & Tips集 Weka Weka の基本 の基本 & & Tips Tips 阿部 阿部 秀尚 秀尚 静岡大学大学院理工学研究科 静岡大学大学院理工学研究科 http:// http:// panda.cs.inf.shizuoka.ac.jp/~hidenao/work/weka panda.cs.inf.shizuoka.ac.jp/~hidenao/work/weka / / [email protected] [email protected]

の基本 集 Tips集 Weka & Tips …ks.cs.inf.shizuoka.ac.jp 目次 • Weka とは?• Weka を使う前に – ARFF の書き方 – ARFF 以外を使う • Weka を使う –

Embed Size (px)

Citation preview

Page 1: の基本 集 Tips集 Weka & Tips …ks.cs.inf.shizuoka.ac.jp 目次 • Weka とは?• Weka を使う前に – ARFF の書き方 – ARFF 以外を使う • Weka を使う –

Wek

aの基本

&Tips集

Wek

aW

eka の

基本

の基本

&&Tips

Tips集集

阿部

阿部

秀尚

秀尚

静岡大学大学院理工学研

究科

静岡大学大学院理工学研究

科ht

tp:/

/ht

tp:/

/ pan

da.c

s.in

f.sh

izuo

ka.a

c.jp

/~hi

dena

o/wo

rk/w

eka

pand

a.cs

.inf.

shiz

uoka

.ac.

jp/~

hide

nao/

work

/wek

a //hi

dena

o@ks

.cs.

inf.

shiz

uoka

.ac.

jphi

dena

o@ks

.cs.

inf.

shiz

uoka

.ac.

jp

Page 2: の基本 集 Tips集 Weka & Tips …ks.cs.inf.shizuoka.ac.jp 目次 • Weka とは?• Weka を使う前に – ARFF の書き方 – ARFF 以外を使う • Weka を使う –

目次

•W

ekaと

は?

•W

ekaを

使う前に

–A

RFFの

書き方

–A

RFF以

外を使う

•W

ekaを

使う

–Ex

plor

erを使う

–Kn

owle

dge

Flow

を使う

Page 3: の基本 集 Tips集 Weka & Tips …ks.cs.inf.shizuoka.ac.jp 目次 • Weka とは?• Weka を使う前に – ARFF の書き方 – ARFF 以外を使う • Weka を使う –

Wek

aとは

•オープンソースのデータマイニングツール

(*1)

•実装はマルチプラットフォーム対応の

Pure

Jav

a–

配布

パッ

ケージは

Win

dows

/Mac

OS

X/J

AR(

ZIP)

•W

aika

to大学

(New

Zea

land

)が中心になって開発

–H

ttp:

//ww

w.cs

.wai

kato

.ac.

nz/m

l/we

ka/

–W

eka:

Wai

kato

Envi

ronm

ent

for

Know

ledg

e A

naly

sis

•対話的に

DMを実行できる

GUIや

DMの流れを表現で

きる

GUIを

装備!

–Ja

vaA

PIやコマンドラインからも利用可

(*1)データマイニングアル

ゴリズムを集

め,

GUI・

API

などか

ら統

合的

に利

用できる

ソフトウェア

Page 4: の基本 集 Tips集 Weka & Tips …ks.cs.inf.shizuoka.ac.jp 目次 • Weka とは?• Weka を使う前に – ARFF の書き方 – ARFF 以外を使う • Weka を使う –

ARF

Fの書き方

@re

latio

nw

eath

er

@at

tribu

te

outlo

ok

{sun

ny,o

verc

ast,r

ainy

}

@at

tribu

te

tem

pera

ture

nu

mer

ic

@at

tribu

tehu

mid

ity

inte

ger

@at

tribu

te

win

dy

{tru

e,fa

lse}

@at

tribu

te

time_

sdat

e “y

yMM

ddH

H:m

m”

@at

tribu

te

play

{y

es,n

o}

@da

ta

sunn

y,85

,85,

FALS

E,01

0822

10:

00,n

o

over

cast

,83,

86,F

ALS

E,01

0911

11:

00,y

es

rain

y,70

,?,F

ALS

E,01

0921

10:

30,y

es

デー

タセ

ット

の名

属性

名を

縦に

列挙

する

数値

属性

を示

す(

実数

,整

数)

名義

属性

は属

性値

をカ

ンマ

区切

りで

示す

@data以

降CSV形

式の

デー

不明

値は

’?’

クラ

スも

他の

名義

属性

と同

様に

記述

(実

行時

に指

定)

日付はdate+フォーマットで

定義する

Page 5: の基本 集 Tips集 Weka & Tips …ks.cs.inf.shizuoka.ac.jp 目次 • Weka とは?• Weka を使う前に – ARFF の書き方 – ARFF 以外を使う • Weka を使う –

ARF

F以外

をW

ekaに

入力

CSVフ

ァイルを

Wek

aに入力するにはどうし

たらいいの?

データベースに蓄えた

データを

Wek

aに入力

したいんだけど・・・

C4.5の

形式を

入力できますか?

Ans

wer:

Expl

orer

の”O

pen

file

…”でファイルを

開こうとすると

Load

erを指定する

よう促されますので,

CSVL

oade

rを指定してください.

また,コマンドラインでの変換も

できます.

$ ja

va –

cp w

eka.

jar¥

weka

.cor

e.co

nver

ters

.CSV

Load

er¥

-i fo

o.cs

v–o

bar

.arf

f

Ans

wer:

Expl

orer

の”O

pen

DB…

”から

DBに

アクセスします.

JDBC

ドライバの指定や

URL

・ユーザ名・パスワードは

実行ディレクトリの

Dat

abas

eUti

ls.p

rop内

に記述します.

Ans

wer:

Expl

orer

の”O

pen

file

…”で開くと

Load

erを指定するよう促されます

ので,

C45L

oade

rを指定してください.

また,

CSV同

様にコマンドラインでの

変換もできます.

Page 6: の基本 集 Tips集 Weka & Tips …ks.cs.inf.shizuoka.ac.jp 目次 • Weka とは?• Weka を使う前に – ARFF の書き方 – ARFF 以外を使う • Weka を使う –

Expl

orer

を使

う(データの読み込み)

1: “O

pen

file

...”,

”Ope

n U

RL…”

ファイルから,

”Ope

n D

B…”で

DBか

らデータ

を読み込む

2: “

Att

ribu

tes”で選択した属性の名前,

種類,欠損値率,統計値とヒストグラムが

表示される

Page 7: の基本 集 Tips集 Weka & Tips …ks.cs.inf.shizuoka.ac.jp 目次 • Weka とは?• Weka を使う前に – ARFF の書き方 – ARFF 以外を使う • Weka を使う –

Expl

orer

を使

う(

データの内容を可視化する

“Vis

ualiz

e”の

タブを選択

領域,点の大

きさ,ジッ

ターを調整

し,

”Upd

ate”

で反映させる

“Plo

t M

atri

x”の1つをダブルクリックして,指定した

2属性間の関係を拡大して表示する

Page 8: の基本 集 Tips集 Weka & Tips …ks.cs.inf.shizuoka.ac.jp 目次 • Weka とは?• Weka を使う前に – ARFF の書き方 – ARFF 以外を使う • Weka を使う –

Expl

orer

を使

う(決定木学習の実行を設定

する

1: “C

hoos

e”ボタン

を押して出てくる

リストから実行す

るアルゴリズムを

選択する

2: “C

hoos

e”の横の

テキストエリアを

クリックし,選択

したアルゴリズム

のパラメータを

設定する

3: “M

ore”ボタンを押

すと,各アルゴリズム

とパラメータの簡単な

解説が表示される

Page 9: の基本 集 Tips集 Weka & Tips …ks.cs.inf.shizuoka.ac.jp 目次 • Weka とは?• Weka を使う前に – ARFF の書き方 – ARFF 以外を使う • Weka を使う –

Expl

orer

を使

う(決

定木学習の実行と結果の表

示)

1: 正

解率の評価方

法とクラス(目的

変数)を設定する.

テストデータセッ

トを使う場合はこ

こで選択する

2: “S

tart

”によっ

て実行開始

結果を見たい実行

を選び,右クリッ

クから

”Vis

ualiz

e Cl

assi

fier

Er

rors

”を選択す

る.

(□が誤分類)

結果を見たい実行

を選び,右クリッ

クから

”Vis

ualiz

e Tr

ee”を

選択する.

訓練

デー

タセットでの決定木(テキスト)と

“Tes

t O

ptio

ns”で

指定した評価を行った結果が

表示される

Page 10: の基本 集 Tips集 Weka & Tips …ks.cs.inf.shizuoka.ac.jp 目次 • Weka とは?• Weka を使う前に – ARFF の書き方 – ARFF 以外を使う • Weka を使う –

Know

ledg

e Fl

owを

使う

(D

M実行手順の設定

必要なデータ

マイニング手

法のアイコン

を選択

実行フローを

保存し,ロー

ドすることも

可能

データマイニング手法の実行手順を

”dat

aSet

”や

”tra

inin

gSet

”,”Gr

aph”

など,データの流れを示す→によって連結して作成する.

(→を引こうとすると,連結可能な手法にマーカーが出現する)

Page 11: の基本 集 Tips集 Weka & Tips …ks.cs.inf.shizuoka.ac.jp 目次 • Weka とは?• Weka を使う前に – ARFF の書き方 – ARFF 以外を使う • Weka を使う –

Know

ledg

e Fl

owを

使う

(可視化した

DMプロセスの

実行

)1:

“Dat

a So

urce

”に読み込むデータ

セットを設定

し,

”Sta

rt

Load

ing”で実行を

開始する

2: “V

isua

lize”か

選んだアイコンに

結果が流れ込むの

で,

”Sho

w Re

sult

”を選択し,結果を

可視化する

Page 12: の基本 集 Tips集 Weka & Tips …ks.cs.inf.shizuoka.ac.jp 目次 • Weka とは?• Weka を使う前に – ARFF の書き方 – ARFF 以外を使う • Weka を使う –

Wek

aに関

する

FAQ

•W

ekaを

使うと

”Out

of

Mem

ory

Exce

ptio

n”で終了して

しまうのですが

…–

java

のオ

プションとして

”-X

mx1

024m

”のよ

うに

最大

メモ

リを

増や

して

くだ

さい.

–数

万イ

ンス

タンス程度のデータセットでも

実行

可能

です

(55

属性

×13

,000

インスタンスで

J4.8と

Apr

ioriの

実行

を確

認)

•W

ekaの

実行速度はどれくらいですか?

–Ja

va V

irtu

al M

achi

neの種類や設定,コ

ンパ

イル

方法

に左

右さ

れま

すが

,経

験的には

C言語での実装の

数倍

程度

とい

う感

じで

す.

•W

ekaを

インストールせずに使いたいのですが?

–A

utom

atic

Kno

wled

ge M

inor

(htt

p://

www.

aukn

omi.c

om/)で

はW

ebか

らW

ekaを

利用できます.

•W

ekaは

PMM

Lに対応していますか?

–Br

isto

l大学

(UK)の

学生

Jiwe

nLi氏が

Wek

aのPM

ML拡

張を

公開

して

いま

す.

http

://w

ww.c

s.br

is.a

c.uk

/hom

e/jl2

092/