asdmay / leap_practice

0 stars 1 forks source link

実験用のプログラム #46

Closed otknoy closed 8 years ago

otknoy commented 8 years ago

ベースライン手法 (正規化 + DTW) を実装した https://github.com/asdmay/leap_practice/pull/45 こっちのプルリクをマージした後に、確認 & マージしてください

やったこと


使い方

引数に被験者より得た実験データ (被験者一人分の json ファイル) を指定して experiment/ec_exp.js を実行して下さい。

$ node experiment/ec_exp.js [実験データ].json

// 例
$ node experiment/ec_exp.js ../ashidaResearch/experiment/subjects/experiment01.json

実験データ (6つの軌跡データ) と samples.json に含まれる検索対象のデータを総当りして類似度を求めます。

実行すると以下の形式の CSV ファイルを出力します。

subject,target,baseline,approach

実行例

otknoy@debian:~/repos/leap_practice$ node experiment/ec_exp.js ../ashidaResearch/experiment/subjects/experiment01.json | head -n 50
subject,target,baseline,approach
nishikawa-circle-fast_slow_gradually,sin(slow),48.74153576293306,15579.189644603357
nishikawa-circle-fast_slow_gradually,sin(normal),42.21128169400617,17638.22486246564
nishikawa-circle-fast_slow_gradually,sin(fast),39.0736100062717,14249.857644208825
nishikawa-circle-fast_slow_gradually,sin(slow_fast),39.4852317322955,14460.881850909991
nishikawa-circle-fast_slow_gradually,sin(fast_slow),48.40087160800845,12530.166805369845
nishikawa-circle-fast_slow_gradually,sin(slow_fast_gradually),39.364991046032216,26643.219291189824
nishikawa-circle-fast_slow_gradually,sin(fast_slow_gradually),48.8663071842649,13575.850111809468
nishikawa-circle-fast_slow_gradually,sin(slow_R),51.97090903422937,22745.086930284775
nishikawa-circle-fast_slow_gradually,sin(normal_R),46.34761278077111,21283.128722974794
nishikawa-circle-fast_slow_gradually,sin(fast_R),42.50544280707525,17057.214777932455
nishikawa-circle-fast_slow_gradually,sin(fast_slow_R),43.98293028971563,19806.58708472896
nishikawa-circle-fast_slow_gradually,sin(slow_fast_R),50.289268798739684,16423.65491543077
nishikawa-circle-fast_slow_gradually,sin(slow_fast_gradually_R),46.44817025646245,29820.670756641593
nishikawa-circle-fast_slow_gradually,sin(fast_slow_gradually_R),46.532272764866434,22505.851502908747
nishikawa-circle-fast_slow_gradually,circle(fast),33.00174829763226,4968.689752364671
nishikawa-circle-fast_slow_gradually,circle(normal),33.36699556084566,5790.436243980149
nishikawa-circle-fast_slow_gradually,circle(slow),35.364658710078075,6173.411526243395
nishikawa-circle-fast_slow_gradually,circle(slow_fast),35.505119771391875,5240.759340078302
nishikawa-circle-fast_slow_gradually,circle(fast_slow),32.70452829330278,5620.9115665111
nishikawa-circle-fast_slow_gradually,circle(fast_slow_gradually),32.433640052276786,3691.22626186558
nishikawa-circle-fast_slow_gradually,circle(slow_fast_gradually),33.66721232739353,4512.381681958095
nishikawa-circle-fast_slow_gradually,circle(slow_R),61.60756432648897,43302.17614675773
nishikawa-circle-fast_slow_gradually,circle(normal_R),58.07326245191784,31044.076133332965
nishikawa-circle-fast_slow_gradually,circle(fast_R),55.584950951165276,25540.512012206626
nishikawa-circle-fast_slow_gradually,circle(slow_fast_R),57.54396588825308,28319.006299596633
nishikawa-circle-fast_slow_gradually,circle(fast_slow_R),56.07352562868695,33138.895771150404
nishikawa-circle-fast_slow_gradually,circle(slow_fast_gradually_R),56.68457275766388,26835.88557219198
nishikawa-circle-fast_slow_gradually,circle(fast_slow_gradually_R),58.82423024996539,22921.74528911754
nishikawa-circle-fast_slow_gradually,h_line(slow),85.25013399136819,269525.90024907247
nishikawa-circle-fast_slow_gradually,h_line(normal),78.97553156778402,261119.97061272824
nishikawa-circle-fast_slow_gradually,h_line(fast),74.98138352871291,280959.4698042123
nishikawa-circle-fast_slow_gradually,h_line(fast_slow),84.85906308305422,99184.91920194888
nishikawa-circle-fast_slow_gradually,h_line(slow_fast),76.15335227509766,84938.98293487377
nishikawa-circle-fast_slow_gradually,h_line(fast_slow_gradually),85.1628887200969,68508.70676326824
nishikawa-circle-fast_slow_gradually,h_line(slow_fast_gradually),75.47347381658119,81092.19525656995
nishikawa-circle-fast_slow_gradually,h_line(slow_R),90.4915122877788,327686.57942994795
nishikawa-circle-fast_slow_gradually,h_line(normal_R),80.38492277899425,325472.238520503
nishikawa-circle-fast_slow_gradually,h_line(fast_R),74.57634592288733,348565.91298809764
nishikawa-circle-fast_slow_gradually,h_line(slow_fast_R),88.69735610587787,105675.0302109015
nishikawa-circle-fast_slow_gradually,h_line(fast_slow_R),77.25799255214302,121103.76897346418
nishikawa-circle-fast_slow_gradually,h_line(slow_fast_gradually_R),79.43347624959597,99342.9316779998
nishikawa-circle-fast_slow_gradually,h_line(fast_slow_gradually_R),79.99394464607849,82902.01278367396
nishikawa-circle-fast_slow_gradually,v_line(slow),107.15569754072999,270768.0426730828
nishikawa-circle-fast_slow_gradually,v_line(normal),98.66406547689428,269234.42517366214
nishikawa-circle-fast_slow_gradually,v_line(fast),93.8499296463885,284273.92056607595
nishikawa-circle-fast_slow_gradually,v_line(slow_fast),106.3005782617072,87380.51044118233
nishikawa-circle-fast_slow_gradually,v_line(fast_slow),95.23094191614469,100073.66491449432
nishikawa-circle-fast_slow_gradually,v_line(slow_fast_gradually),97.16958228116579,82047.19547751168
nishikawa-circle-fast_slow_gradually,v_line(fast_slow_gradually),97.64445950642497,68676.07537726311
otknoy commented 8 years ago

20人分を一気に求めるコマンド

$ for i in `seq -w 20`; do node experiment/ec_exp.js ../ashidaResearch/experiment/subjects/experiment${i}.json > experiment/result/experiment${i}_result.csv

csv ファイルが生成される。

otknoy@debian:~/repos/leap_practice$ ls experiment/result/
experiment01_result.csv  experiment04_result.csv  experiment07_result.csv  experiment10_result.csv  experiment13_result.csv  experiment16_result.csv  experiment19_result.csv
experiment02_result.csv  experiment05_result.csv  experiment08_result.csv  experiment11_result.csv  experiment14_result.csv  experiment17_result.csv  experiment20_result.csv
experiment03_result.csv  experiment06_result.csv  experiment09_result.csv  experiment12_result.csv  experiment15_result.csv  experiment18_result.csv
otknoy@debian:~/repos/leap_practice$ 

experiment01_result.csv の中身

otknoy@debian:~/repos/leap_practice$ head experiment/result/experiment01_result.csv 
subject_name,subject_pattern,target_pattern,baseline,approach
nishikawa,circle-fast_slow_gradually,sin(slow),48.74153576293306,15579.189644603357
nishikawa,circle-fast_slow_gradually,sin(normal),42.21128169400617,17638.22486246564
nishikawa,circle-fast_slow_gradually,sin(fast),39.0736100062717,14249.857644208825
nishikawa,circle-fast_slow_gradually,sin(slow_fast),39.4852317322955,14460.881850909991
nishikawa,circle-fast_slow_gradually,sin(fast_slow),48.40087160800845,12530.166805369845
nishikawa,circle-fast_slow_gradually,sin(slow_fast_gradually),39.364991046032216,26643.219291189824
nishikawa,circle-fast_slow_gradually,sin(fast_slow_gradually),48.8663071842649,13575.850111809468
nishikawa,circle-fast_slow_gradually,sin(slow_R),51.97090903422937,22745.086930284775
nishikawa,circle-fast_slow_gradually,sin(normal_R),46.34761278077111,21283.128722974794
otknoy@debian:~/repos/leap_practice$