***SCOPEとweka [#u43bdf54]

+wekaダウンロード http://www.cs.waikato.ac.nz/~ml/weka/
--linux で weka 起動まで
	wget http://prdownloads.sourceforge.net/weka/weka-3-6-1.zip
	unzip weka-3-6-1.zip
	cd weka-3-6-1
	java -jar weka.jar
--その後
+++Explorer を選択
+++Open fileでファイル読み込み
+++J48を選択
--コマンドラインから起動する場合
	java -classpath weka.jar weka.classifiers.trees.J48 -t  ***.arff
	java -classpath weka.jar weka.classifiers.trees.J48 -C 0.25 -M 1 -t ***.arff
--CLASSPATHの設定
---http://www.wikihouse.com/java/?path,classpath
---vi .bash_profile
	export PATH=$PATH:/home/weka
	export CLASSPATH=$CLASSPATH:/home/weka/weka.jar:.
---source .bash_profile
+weka サンプル
--サンプル作成 [[参考サイト>http://www.mkc.zaq.ne.jp/eabeh309/weka/index.html#%E5%85%A5%E5%8A%9B%E3%83%87%E3%83%BC%E3%82%BF]]
--SCOPE関連 議員の発言内容により決定木をつくる場合
--SCOPE関連 政治的カテゴリに対する各議員の発言数を入力データとして決定木をつくる場合
	@relation member
	
	@attribute 財務(1010)	Real
	@attribute 病院事業(1101)	Real
	@attribute 教育(1120)	Real
	@attribute 学校(1121)	Real
	・・・
	@attribute Member	{memberA,memberB,memberC,・・・}
	
	@data
	0.113389626,0.031363088,・・・,0,memberA
	0.151930262,0.078455791,・・・,0,memberB
--元のExcelデータ
#ref(weka-excel.jpg,,40%);
---メモ Excelで転置
	コピーし、「形式を選択してペースト」で、行を列の入れ替えを選択

***J48 決定木の作成 [#l968669e]
-J48とは [[参考サイト>http://www1.doshisha.ac.jp/~mjin/R/20.pdf]]
--Quinlan の C4.5 に基づいた決定木を生成する
--デフォルトで実行すると、"J48 -C 0.25 -M 2" となっている。
---オプションCについて
	Confidence Factor
	剪定のための信頼要因。値が小さいほどより多く剪定される
---オプションMについて
	miniNumObj
	葉における最少の個体数
--オプションの説明 http://wiki.livedoor.jp/ryu_toshinori/d/classifiers.trees.J48
---binarySplits -- 名義属性の分割に二分分割を使うか(木を構築するときに).
---confidenceFactor -- 信頼度は枝刈りに対して利用しました.(より小さい値はより多く枝刈りを行います)
---debug -- trueに設定されると,分類学習アルゴリズムは追加インフォメーションをコンソールに出力します.
---minNumObj -- 葉あたりの最小事例数
---numFolds -- 誤り低減枝刈りのために利用するデータの量を決定してください. 1つの折り目部分集合は枝刈りのために利用され,残りは決定木の生成に利用します.
---reducedErrorPruning -- 誤り低減枝刈りをC4.5方式の枝刈りの変わりに使用するかどうか.
---saveInstanceData -- 訓練データを可視化のために保存するかどうか.
---seed -- データをランダム化するのに種が利用されます.誤り低減枝刈りを利用するときに.
---subtreeRaising -- 部分木の出現操作を枝刈りの際に考慮するかどうか.
---unpruned -- 枝刈りを実行するかどうか.
---useLaplace -- ラプラスに基づいて葉での数え上げが平滑化されるかどうかです.

+SCOPEのデータ作成方法
--各議員の発言数が異なるため正規化する
---各議員の発言総数で各議員のカテゴリ発言数を割る
---例
	議員Aの発言総数 1000回 議員Aの財務に関連する発言200回 の場合
	議員Aの財務の値は 0.2 となる
--議員名を載せていないバージョン、arff形式のファイル
---&ref(MemberH19.txt);
---"J48 -C 0.25 -M 2" 結果
#ref(weka-1.jpg,,50%);
--議員名を載せていなるバージョン、arff形式のファイル
--議員名を載せているバージョン、arff形式のファイル
---&ref(MemberH19-Otaru.txt);
---"J48 -C 0.25 -M 2" 結果
#ref(weka-member.jpg,,50%);
---"J48 -C 0.25 -M 1" 結果
#ref(weka-otaru-j48-C025-M1.jpg,,50%);
	バッファの保存
#ref(OtaruH19-J48-C025-M1.txt)

***コマンドラインからの操作について [#wfc6f796]

+コマンドラインからサンプル
+コマンドラインからサンプル http://furukawa.sfc.keio.ac.jp/course/DM01/man-w.html
--コマンドラインからどのように操作するのか?
--java weka.classifiers.j48.J48
	 -t : 訓練事例ファイルを指定する。
	 -T : テスト事例ファイルを指定する。 もしこれを指定しない場合、訓練事例に対して交差検定を行う。
	 -c : クラス属性を指定する。クラスとして指定したい属性を番号で指定する。その属性が入力ファイル中で1番最初に宣言された属性であれば1、2番目であれば2と指定する。
	 -x : 交差検定の fold 数を指定する。
	 -v : 木に対する評価(Error on training data)を表示しない。
	 -o : 決定木を表示しない。
	 -d : 生成した木を保存する。他のテスト事例に対して、同じ木を作り直す必要がなくなる。
	 -l : 保存した木を呼び出す。
	 -C : pruning confidence (枝刈りの強さを表す数値。値が小さいほど、大きい枝刈りが行われる。 デフォルト値は 25% )の値を指定する。
	 -M : 葉に最低限含まれなければならないデータ数を指定する。 
--java weka.classifiers.j48.J48   -t weather.arff   -d tree.out
---(weather.arff を訓練事例として生成した決定木を、tree.out という名前で保存する)

***評価用語 [#q3feb308]
+Correctly Classified Instances
--正しく分類された数とその割合
--          0                0      %
+Incorrectly Classified Instances
--誤って分類された数とその割合
--        17              100      %
+Kappa statistic
--K統計量。判定者内一致度
--                         -0.0625
+K&B Relative Info Score
--                -19.0059 %
+K&B Information Score
--                   -0.7744 bits     -0.0456 bits/instance
+Class complexity | order 0
--              85.1332 bits      5.0078 bits/instance
+Class complexity | scheme
--            18258      bits   1074      bits/instance
+Complexity improvement     (Sf)
--     -18172.8668 bits  -1068.9922 bits/instance
+Mean absolute error
--平均絶対誤差。予測精度。低いほど良い
--                      0.1176
+Root mean squared error 
--二乗平均平方根。変化量を統計的に評価する手法。予測精度。低いほど良い
--                 0.2691
+Relative absolute error
--               103.208  %
+Root relative squared error
--            111.0656 %
+Total Number of Instances
--決定木を作るのに寄与したインスタンスの数
--               17    

***参考サイト [#n9cb453e]
+http://wiki.livedoor.jp/ryu_toshinori/d/classifiers.trees.J48
+順序尺度、名義尺度 http://www.gen-info.osaka-u.ac.jp/testdocs/tomocom/express/express0.html
+http://blogs.yahoo.co.jp/pironotakarabako/52294173.html