前提・実現したいこと
1回の学習で10個のテストデータとのRMSEを計算します。それについてRMSE,その中の最大値、最小値、平均値を求めてリストに追加します。
ここまでの学習をデータの組み合わせを変えて6回繰り返し、繰り返した結果をまとめた一つのリストを作成します。
そして、学習ごとにRMSEの最大値・最小値・平均値をまとめたグラフを作成したいです。
発生している問題・エラーメッセージ
学習を繰り返す過程でリストに数値が追加されていくのですが、学習が進むに連れて最大・最小・平均算出過程で過去の結果を参照してしまい、その学習における最大値・最小値・平均値が記録されません。(赤線が最大値と最小値、赤丸が平均値、青丸が記録した数値を示しています。)
![
該当のソースコード
python
1P_list =[] 2P_mean_list =[] 3P_max_list = [] 4P_min_list = [] 5 6for i in range(6): 7#学習部分省略 8 P = model.predict(P_test) 9 for i in range(10): 10 P_rmse = np.sqrt(np.mean(P[i] - P_test[i])**2) 11 P_list.append(P_rmse) 12 13 P_mean = np.mean(P_list) 14 P_mean_list.append(P_mean) 15 16 P_max = np.max(P_list) 17 P_max_list.append(P_max) 18 19 P_min = np.min(P_list) 20 P_min_list.append(P_min) 21 22def plot(): 23 yerr_plus = [P_max_list[i]-P_mean_list[i] for i in range(len(P_mean_list))] 24 yerr_minus =[P_mean_list[i]-P_min_list[i] for i in range(len(P_mean_list))] 25 plt.errorbar(xbar, P_mean_list, yerr=[yerr_minus, yerr_plus]) 26 27plot()
補足情報(FW/ツールのバージョンなど)
初歩的な質問かとは思いますが、どうぞよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー