teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

追記

2021/07/31 10:46

投稿

multinguish
multinguish

スコア6

title CHANGED
File without changes
body CHANGED
@@ -1,13 +1,14 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- 非エンジニア、独学です。
3
+ 非エンジニア、独学のpython初心者です。
4
4
  multivariate LSTMにより血流量を予測する試みを行なっています。
5
- 血流量の他に血圧や脈拍、呼吸数を用いています。
5
+ 血流量の他に血圧(収縮期、平均、拡張期)や脈拍、呼吸数を用いています。
6
+ 1分おきの時系列データを収集し、前半8割の値から後半2割の血流量を予測しました。
6
- 学習、グラフ作成まで行いました。
7
+ 学習、グラフ作成まで行い、予測精度をRMSEで計算しました。
7
8
 
8
9
  ### 発生している問題・エラーメッセージ
9
10
 
10
- RMSEにより精度検証を行いましたが、グラフを見るとRMSEがここまで低いようには思えません。
11
+ グラフを見るとRMSEがここまで低いようには思えません。
11
12
  精度が正しいかどうか、正しくない場合コードのどの部分に問題があるかが判断できません。
12
13
  もしわかる方がいらっしゃいましたらご指導いただければ幸いです。
13
14
 

1

図の修正

2021/07/31 10:46

投稿

multinguish
multinguish

スコア6

title CHANGED
File without changes
body CHANGED
@@ -29,8 +29,9 @@
29
29
  df = pd.read_csv('1.18min.csv')
30
30
  df['time'] = pd.to_datetime(df['time'])
31
31
  df
32
+ ```
32
33
  ![表](94c11d974818843276d5642e10edefb7.png)
33
-
34
+ ```
34
35
  flow = np.array([df.iloc[:,1]])
35
36
  sBP = np.array([df.iloc[:,2]])
36
37
  mBP = np.array([df.iloc[:,3]])
@@ -48,13 +49,17 @@
48
49
  r, = plt.plot(RR[0, :])
49
50
  plt.legend([f,s,m,d,h,r], ["flow", "sBP", "mBP", "dBP", "HR", "RR"])
50
51
  plt.show(block=False)
52
+ ```
51
53
  ![全データ](5e5b6629c854eee31e17c5a73410514a.png)
54
+ ```
52
55
  #血流量のみプロット
53
56
  plt.figure(figsize = (10,6))
54
57
  f, = plt.plot(flow[0, :])
55
58
  plt.legend([f], ["flow"])
56
59
  plt.show(block=False)
60
+ ```
57
61
  ![血流量](74d3ef6ddac30500e9f8b34ef3dee172.png)
62
+ ```
58
63
  #Xは血流以外、Yが血流
59
64
  X = np.concatenate([sBP,mBP,dBP,HR,RR],axis=0)
60
65
  X = np.transpose(X)
@@ -88,7 +93,9 @@
88
93
  plt.plot(Predict, linestyle="dashed", label = 'Prediction')
89
94
  plt.legend(loc='best')
90
95
  plt.show()
96
+ ```
91
97
  ![実測値と予測値](cb0d94fca2a8ab298a47f52c39942cd3.png)
98
+ ```
92
99
  Y_train = scaler1.inverse_transform(Y_train)
93
100
  Y_train = pd.DataFrame(Y_train)
94
101
  Y_train.index = pd.to_datetime(df.iloc[:848,0])
@@ -108,7 +115,9 @@
108
115
  plt.plot(Predict, linestyle="dashed", label = 'Prediction')
109
116
  plt.legend(loc='best')
110
117
  plt.show()
118
+ ```
111
119
  ![crossvalidation結果](beebe47a73dd650c52e69817a98377e4.png)
120
+ ```
112
121
  #誤差計算
113
122
  import math
114
123
  from sklearn.metrics import mean_squared_error