前回のプログラムBasicDataTrans_STA24で作成した基礎データファイルを使った解析用プログラムです。
STA24_XYp_sITPBNO_20.py
https://gist.github.com/dj1711572002/f063c401c29751597f6f44c2f066d829
●機能
1:120msec周期のデータを10msec周期で2次スプライン補間計算をします。ターン毎にファイル生成(hoT)
2:ペアプロットで全パラメータの相関グラフが見られる hue付き hue無し 2種類出力(ppr)
3:SVM機械学習処理を試してペアプロットで観察することができる(m) まだ、学習中で実稼働してない
4:headMot、Heading,yawのピークを求めて、時系列グラフでピーク補正と補正効果の統計計算する(pph)
5:find_peaksを使ったピーク検出(fp)
6:XYプロットで補間後の軌跡のプロットして補間効果を見れる。(xyp)
7:連番の任意のCSVファイル群を1本のCSVにまとめる機能(call)
●操作
キー | 動作 |
‘r’キー | BRBN_、BRBNT_基礎データが入ったCSVファイルを読み込んでdf_BRBNT生成 “iTOW_B0”:先頭をゼロとした時間表示列 headMotの時系列グラフを表示してデータ読み込み確認 |
“hoT”キー | 2次スプライン関数で補間計算とファイル合体 0:’r’キーでdf_BRBNTを作成済みなこと 1:’r’で読んだBRBNファイルと対になったBNOファイルを読み込む 2:指定カラムリストの補間を順次行って指定カラム”H-Ysa”を確認プロットする 3:合体して10msecファイル群作成 連番名 sITPBNO_No_ を作成 |
“pp”キー | ペアプロット観察する 1:補間処理済みのsITPBNO ファイルを単独でペアプロットする 2:ITPpairplot_ .pngファイルを作成 |
‘m’キー | SVM 機械学習計算を試す 1:使用目的に沿ったsITPBNOファイル連番をリスト指定したセットlistNを作成 2:使用目的に沿ったカラムを指定したセットcolistを作成 3:上記指定に沿ってsITPBNOファイルを読み込んで、機械学習用dfを生成 3-1df=sITP_dfMake(filename,listN_org,colist_org,”org”)
=>オリジナルのデータのdf 正規化無し 3-2df_trains=sITP_dfMake(filename,listN_train,colist_train,”train”) =>トレーニングデータ作成 正規化済み 3-3df_tests=sITP_dfMake(filename,listN_test,colist_test,”test”)
=>テストデータを作成、正規化済み 3-4df_target=sITP_dfMake(filename,listN_target,colist_target,”target”) =>ターゲットデータを作成 正規化無し 4:ターゲットのランク分け(2分割が普通) df_ttargetR=tRank_make(df_ttarget,rankN,values,colname)
5:機械学習用の上記dfをto_numpyにしてからreshapeで1行にまとめる処理 6:機械学習させてmodelを生成 7:トレーニングデータのモデル精度の評価を行う 8:結果をペアプロット 以後は未完成 |
“ppr”キー | ペアプロットする 1:sITPBNOファイルをリスト指定してまとめてペアプロットする 2:相関付きペアプロット関数pairplot()で相関ペアプロット出力 3:HUE付きペアプロット出力 4:普通のペアプロット出力 5:hokanフォルダーにppr_名でPNGファイルで保存される |
“pph”キー | ピーク補正実験用ブロック 1:sITPBNOファイル1個を指定読み込み 2:初期オフセット値gを500-1000データの平均値の差で決めるyawHg作成(手動調整) 3:各波形のピーク検出 fpr=peaksHokancol(df,”headMot360″) fpr1=peaksHokancol(df,”yaw”) fpr2=peaksHokancol(df,”Heading360″) fcr=crossPoints(df,fpr1,fpr2)#Find Croaapoints 4:headMotピークにあわせてyawHg波形をピークオフセット値hpg足してyawHpgを作成 5:ピーク補正の精度を統計処理してpph_Stat_ ファイルに保存 6:統計処理したデータファイルpph_Log_ ファイルに保存 7:全部が見える時系列グラフを生成表示 _pph.png ファイルとして保存 |
“xyp”キー | XYグラフを描く 10msec補間の細かな軌跡の動きを目視確認用 1:MovingBaseデータをもっているファイルを読み込む 2:BaseとRoverを結んだスキー線と軌跡をグラフ表示 3:xyp_Turn_ .pngファイルとして1200dpi保存 |
“call”キー | 任意の連番ファイル群を一本のCSVファイルにまとめる 関数:csv_All_make(fn)1:ファイル群の任意の1個だけ指定 2:ファイル群の連番を抽出して、最小ー最大が番号を取得してソート 3:ソート順に読みこんで、dfを作成 4:ファイル群名と最小番号-最大番号のファイル名の合体したファイルが同じフォルダーにできる。 |
●以後
yaw補正の開発と機械学習のスタディでこのプログラムを成長させていきます。